linux-stable/arch/arm
Joseph Lo 5c1350bdfc ARM: tegra20: cpuidle: add powered-down state for secondary CPU
The powered-down state of Tegra20 requires power gating both CPU cores.
When the secondary CPU requests to enter powered-down state, it saves
its own contexts and then enters WFI. The Tegra20 had a limition to
power down both CPU cores. The secondary CPU must waits for CPU0 in
powered-down state too. If the secondary CPU be woken up before CPU0
entering powered-down state, then it needs to restore its CPU states
and waits for next chance.

Be aware of that, you may see the legacy power state "LP2" in the code
which is exactly the same meaning of "CPU power down".

Based on the work by:
Colin Cross <ccross@android.com>
Gary King <gking@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-28 11:20:38 -07:00
..
boot ARM: tegra: add clocks properties to USB PHY nodes 2013-01-28 11:20:05 -07:00
common Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-01-09 08:58:57 -08:00
configs arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver 2013-01-06 17:41:14 +00:00
crypto
include ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
kernel Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
lib
mach-at91 ARM: at91: fix board-rm9200-dt after sys_timer conversion 2013-01-14 10:14:04 -08:00
mach-bcm ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-bcm2835 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-clps711x ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-cns3xxx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-davinci Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-dove Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-ebsa110 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-ep93xx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-exynos Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-footbridge ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-gemini ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-h720x ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-highbank Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-imx Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-integrator ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-iop13xx Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-iop32x ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-iop33x ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-ixp4xx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-kirkwood Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-ks8695 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-l7200/include/mach
mach-lpc32xx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mmp Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-msm Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-mv78xx0 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-mvebu ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mxs ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-netx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-nomadik Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-omap1 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-omap2 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-orion5x Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-picoxcell ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-prima2 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-pxa Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-realview ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-rpc ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-s3c24xx Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-s3c64xx Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-s5pc100 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-s5pv210 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-sa1100 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-shark ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-shmobile ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-socfpga ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-spear3xx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-spear6xx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-spear13xx ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-sunxi Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-tegra ARM: tegra20: cpuidle: add powered-down state for secondary CPU 2013-01-28 11:20:38 -07:00
mach-u300 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-ux500 Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-versatile Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-vexpress Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
mach-vt8500 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-w90x900 ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-zynq ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mm ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel 2013-01-07 15:04:17 +00:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
nwfpe
oprofile
plat-iop
plat-omap ARM: arm-soc fixes for 3.8-rc 2013-01-08 18:53:56 -08:00
plat-orion ARM: arm-soc: Updates for Marvell mvebu/kirkwood 2012-12-14 14:54:26 -08:00
plat-pxa ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
plat-s3c24xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
plat-samsung Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into for-3.9/cleanup 2013-01-28 10:20:34 -07:00
plat-spear
plat-versatile ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
tools
vfp
xen Features: 2012-12-13 14:29:16 -08:00
Kconfig ARM: tegra: move timer.c to drivers/clocksource/ 2013-01-28 10:21:21 -07:00
Kconfig-nommu
Kconfig.debug ARM: arm-soc: multiplatform conversion patches 2012-12-13 10:57:16 -08:00
Makefile ARM: arm-soc: multiplatform conversion patches 2012-12-13 10:57:16 -08:00