summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle.c
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2011-08-23 11:00:41 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:30 -0800
commitebfe732c0f6f6f34900d1ce00c97aa15201408a5 (patch)
tree66f66bd431cd41997f19aa36f83bb4c7dd53fdb5 /arch/arm/mach-tegra/cpuidle.c
parentf9c7da35d00782b79d63b62fac71b00ea980b157 (diff)
ARM: tegra: power: Fix premature clock event broadcast mode
Do not switch to clock event broadcast mode until the final CPU is going into LP2. Switching into broadcast mode on the secondary CPUs can cause double ticking and/or kernel panics on the primary. Change-Id: I92076f053bdae7de57e5d7453170b43558b094cc Signed-off-by: Scott Williams <scwilliams@nvidia.com> Reviewed-on: http://git-master/r/48743 Reviewed-by: Jin Qian <jqian@nvidia.com> Tested-by: Jin Qian <jqian@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: R18bd87d171133d210a5edf732960d1c011e1e9a5
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c
index 92fbc61f469d..3a2452104f46 100644
--- a/arch/arm/mach-tegra/cpuidle.c
+++ b/arch/arm/mach-tegra/cpuidle.c
@@ -116,13 +116,7 @@ static int tegra_idle_enter_lp2(struct cpuidle_device *dev,
enter = ktime_get();
tegra_cpu_idle_stats_lp2_ready(dev->cpu);
-
- /* Shut down the CPU local timer and switch timekeeping to the
- global system timer. */
- clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &dev->cpu);
tegra_idle_lp2(dev, state);
- /* Switch timekeeping back to the CPU local timer. */
- clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &dev->cpu);
exit = ktime_sub(ktime_get(), enter);
us = ktime_to_us(exit);