]> rtime.felk.cvut.cz Git - linux-imx.git/commit
ARM: OMAP4: cpuidle: Switch to gptimer from twd in deeper C-states.
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Sat, 15 Jan 2011 19:12:31 +0000 (00:42 +0530)
committerKevin Hilman <khilman@ti.com>
Thu, 8 Dec 2011 19:29:02 +0000 (11:29 -0800)
commit98be0dde1957a1e47d42cf2c220bf52bacf81d6e
treec1c362a15338079199d3bd68f49c09abf8f818dc
parent98272660970a71e21ad1992f695f75b780de833c
ARM: OMAP4: cpuidle: Switch to gptimer from twd in deeper C-states.

CPU local timer(TWD) stops when the CPU is transitioning into
deeper C-States. Since these timers are not wakeup capable, we
need the wakeup capable global timer to program the wakeup time
depending on the next timer expiry.

It can be handled by registering a global wakeup capable timer along
with local timers marked with (mis)feature flag CLOCK_EVT_FEAT_C3STOP.
Then notify the clock events layer from idle code using
CLOCK_EVT_NOTIFY_BROADCAST_ENTER/EXIT).

ARM local timers are already marked with C3STOP feature. Add the
notifiers to OMAP4 CPU idle code for the broadcast entry and exit.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/cpuidle44xx.c