diff options
author | Scott Williams <scwilliams@nvidia.com> | 2010-12-29 18:12:27 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-04-26 15:48:56 -0700 |
commit | 98b6c7373d54fb49848e46381c58be9a432901d0 (patch) | |
tree | 8f6257783f24bf762a621aa146bda957b39b4e12 /arch/arm/mach-tegra/cpuidle.c | |
parent | 5042cb6656ce34baf449d2d5f2f2890d1ff82e4f (diff) |
arm: tegra3: Add SMP CPU idle support
Original-Change-Id: I96edd2706d959f04e9bc5cd4a841d9a582fbd469
Reviewed-on: http://git-master/r/14575
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Tested-by: Scott Williams <scwilliams@nvidia.com>
Change-Id: I3d49abf93947d09af9bc6faf2b15675303723515
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.c')
-rw-r--r-- | arch/arm/mach-tegra/cpuidle.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c index 5383e437fefb..6aa6ef89d571 100644 --- a/arch/arm/mach-tegra/cpuidle.c +++ b/arch/arm/mach-tegra/cpuidle.c @@ -106,18 +106,10 @@ static int tegra_idle_enter_lp2(struct cpuidle_device *dev, ktime_t enter, exit; s64 us; - if (!lp2_in_idle || lp2_disabled_by_suspend) + if (!lp2_in_idle || lp2_disabled_by_suspend || + !tegra_lp2_is_allowed(dev, state)) return tegra_idle_enter_lp3(dev, state); -#if defined(CONFIG_SMP) && !defined(CONFIG_ARCH_TEGRA_2x_SOC) - if (dev->cpu == 0) { - u32 reg = readl(CLK_RST_CONTROLLER_CPU_CMPLX_STATUS); - if ((reg & 0xE) != 0xE) { - return tegra_idle_enter_lp3(dev, state); - } - } -#endif - local_irq_disable(); clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &dev->cpu); local_fiq_disable(); |