]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle
authorLen Brown <len.brown@intel.com>
Thu, 4 Oct 2007 05:23:47 +0000 (01:23 -0400)
committerLen Brown <len.brown@intel.com>
Wed, 10 Oct 2007 04:26:43 +0000 (00:26 -0400)
commitd297c60c9d02695c065d2d2b30121a1bbed578ba
treed0f1c806a503f127ba54ddad7a5a1a0778080bb7
parent932f52854fee080017ab75c0e85ae8c66e19e1a3
ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle

Some timers stop during C2 and C3, and so there are various
generations of timer broadcast workarounds to deal with that.
But that (already complex) code gets confused during suspend.

As it is unlikely that deep C-states would save much power
during the actual suspend/resume process anyway, deep C-states
were disabled via the addition of .suspend/.resume hooks
in to the ACPI processor driver.

Here that workaround is ported to the cpuidle version of
the ACPI idle loop.  Technically, ACPI could un-register
itself from cpuidle on .suspend, but that code path
is currently quite cumbersome.  So instead,
we simply invoke C1 from the C2 and C3 handlers
for the duration of .suspend/.resume.

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