summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle.c12
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 */