diff options
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.c')
-rw-r--r-- | arch/arm/mach-tegra/cpuidle.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c index 47d5996e5961..25f63f6c4b2a 100644 --- a/arch/arm/mach-tegra/cpuidle.c +++ b/arch/arm/mach-tegra/cpuidle.c @@ -45,6 +45,7 @@ #include "cpuidle.h" #include "pm.h" #include "sleep.h" +#include "timer.h" int tegra_lp2_exit_latency; static int tegra_lp2_power_off_time; @@ -117,20 +118,25 @@ static int tegra_idle_enter_lp2(struct cpuidle_device *dev, return tegra_idle_enter_lp3(dev, state); } + trace_printk("LP2 entry at %lu us\n", + (unsigned long)readl(IO_ADDRESS(TEGRA_TMR1_BASE) + + TIMERUS_CNTR_1US)); + local_irq_disable(); enter = ktime_get(); tegra_cpu_idle_stats_lp2_ready(dev->cpu); tegra_idle_lp2(dev, state); + trace_printk("LP2 exit at %lu us\n", + (unsigned long)readl(IO_ADDRESS(TEGRA_TMR1_BASE) + + TIMERUS_CNTR_1US)); + exit = ktime_sub(ktime_get(), enter); us = ktime_to_us(exit); 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 */ |