summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle-t2.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle-t2.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle-t2.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/cpuidle-t2.c b/arch/arm/mach-tegra/cpuidle-t2.c
index d7b787bcac3b..ff6c320dd11c 100644
--- a/arch/arm/mach-tegra/cpuidle-t2.c
+++ b/arch/arm/mach-tegra/cpuidle-t2.c
@@ -40,7 +40,6 @@
#include <linux/tick.h>
#include <asm/cpu_pm.h>
-#include <asm/suspend.h>
#include <mach/iomap.h>
#include <mach/irqs.h>
@@ -50,6 +49,7 @@
#include "pm.h"
#include "sleep.h"
#include "timer.h"
+#include "dvfs.h"
static struct {
unsigned int cpu_ready_count[2];
@@ -222,6 +222,7 @@ static int tegra2_idle_lp2_cpu_0(struct cpuidle_device *dev,
idle_stats.tear_down_count++;
entry_time = ktime_get();
+ tegra_dvfs_rail_off(tegra_cpu_rail, entry_time);
if (request > state->target_residency) {
s64 sleep_time = request - tegra_lp2_exit_latency;
@@ -248,6 +249,8 @@ static int tegra2_idle_lp2_cpu_0(struct cpuidle_device *dev,
}
exit_time = ktime_get();
+ tegra_dvfs_rail_on(tegra_cpu_rail, exit_time);
+
if (sleep_completed) {
/*
* Stayed in LP2 for the full time until the next tick,