summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle.c
diff options
context:
space:
mode:
authorPrashant Gaikwad <pgaikwad@nvidia.com>2011-12-13 12:33:13 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-22 11:32:03 +0530
commit51a3974d0c5272ce8ab48d3370dd3debe76747e8 (patch)
tree74b3ccd4fc6233468daaa5cebf1b03c117d2a6dc /arch/arm/mach-tegra/cpuidle.c
parent7c85a554dbe3ea7bd1b9724bb84ab82aa672eee0 (diff)
ARM: tegra: power: Fix clock event broadcast mode
Do not switch to broadcast mode in common code since it affects both Tegra3 and Tegra2. Tegra3 does not need broadcast mode until final CPU is going in LP2. Bug 905813 Change-Id: I7b888504e5a926c15f34b0bb2487e16f672d9294 Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com> Reviewed-on: http://git-master/r/69686 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Raymond Poudrier <rapoudrier@nvidia.com> Tested-by: Raymond Poudrier <rapoudrier@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c
index 2ad0fbd6e243..bdf45f81f9da 100644
--- a/arch/arm/mach-tegra/cpuidle.c
+++ b/arch/arm/mach-tegra/cpuidle.c
@@ -108,7 +108,6 @@ static int tegra_idle_enter_lp2(struct cpuidle_device *dev,
return tegra_idle_enter_lp3(dev, state);
local_irq_disable();
- clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &dev->cpu);
enter = ktime_get();
tegra_cpu_idle_stats_lp2_ready(dev->cpu);
@@ -117,9 +116,11 @@ static int tegra_idle_enter_lp2(struct cpuidle_device *dev,
exit = ktime_sub(ktime_get(), enter);
us = ktime_to_us(exit);
- clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &dev->cpu);
local_irq_enable();
+ /* cpu clockevents may have been reset by powerdown */
+ hrtimer_peek_ahead_timers();
+
smp_rmb();
/* Update LP2 latency provided no fall back to LP3 */