ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
authorLen Brown <len.brown@intel.com>
Wed, 20 Jan 2010 03:41:14 +0000 (22:41 -0500)
committerLen Brown <len.brown@intel.com>
Wed, 20 Jan 2010 05:54:01 +0000 (00:54 -0500)
commit5d76b6f6c17572e662f5c99c2023adae92100855
treef381621b23c8e689fa4258f9da3dd107cb93776c
parent24bc7347da73a9ed3383056c3d0f28c0e361621e
ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C

Linux has always ignored ACPI BIOS C2 with exit latency > 100 usec,
and the ACPI spec is clear that is correct FADT-supplied C2.

However, the ACPI spec explicitly states that _CST-supplied C-states
have no latency limits.

So move the 100usec C2 test out of the code shared
by FADT and _CST code-paths, and into the FADT-specific path.

This bug has not been visible until Nehalem, which advertises
a CPU-C2 worst case exit latency on servers of 205usec.
That (incorrect) figure is being used by BIOS writers
on mobile Nehalem systems for the AC configuration.
Thus, Linux ignores C2 leaving just C1, which is
saves less power, and also impacts performance
by preventing the use of turbo mode.

http://bugzilla.kernel.org/show_bug.cgi?id=15064

Tested-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/processor_idle.c