summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle-t3.c
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-11-19 17:28:31 -0800
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-15 12:06:15 +0530
commit051a0b2e40779eee1125308bac32e1957570ccd6 (patch)
tree543f5ff68118d020092e3b6c88d178810027a5b3 /arch/arm/mach-tegra/cpuidle-t3.c
parent7b6ad0c9924f567c8bd4dd7c2fbadf6ee8a960a8 (diff)
ARM: tegra: dvfs: Add DVFS rails statistic
On Tegra3: complete account of in- and out-of-bound rails control. On Tegra2: out-of-bound vdd_cpu control in LP2 state is not accounted. Change-Id: Ib68cbbfe3e4f965e758aca17a0ba30277d530347 Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/67340 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle-t3.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle-t3.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/cpuidle-t3.c b/arch/arm/mach-tegra/cpuidle-t3.c
index e326a9b99875..2dedf2c2248a 100644
--- a/arch/arm/mach-tegra/cpuidle-t3.c
+++ b/arch/arm/mach-tegra/cpuidle-t3.c
@@ -233,6 +233,8 @@ static void tegra3_idle_enter_lp2_cpu_0(struct cpuidle_device *dev,
trace_power_start(POWER_CSTATE, 2, dev->cpu);
clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &dev->cpu);
+ if (!is_lp_cluster())
+ tegra_dvfs_rail_off(tegra_cpu_rail, entry_time);
if (tegra_idle_lp2_last(sleep_time, 0) == 0)
sleep_completed = true;
@@ -242,7 +244,12 @@ static void tegra3_idle_enter_lp2_cpu_0(struct cpuidle_device *dev,
}
clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &dev->cpu);
- }
+ exit_time = ktime_get();
+ if (!is_lp_cluster())
+ tegra_dvfs_rail_on(tegra_cpu_rail, exit_time);
+ } else
+ exit_time = ktime_get();
+
#ifdef CONFIG_SMP
if (!is_lp_cluster() && (num_online_cpus() > 1)) {
@@ -258,7 +265,6 @@ static void tegra3_idle_enter_lp2_cpu_0(struct cpuidle_device *dev,
}
#endif
- exit_time = ktime_get();
if (sleep_completed) {
/*
* Stayed in LP2 for the full time until the next tick,