diff options
author | Alex Frid <afrid@nvidia.com> | 2011-09-27 20:14:55 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:09 -0800 |
commit | f718f636a3c94b1cec48f69c0fd75e96e89ddc64 (patch) | |
tree | 98d637ece6cf3b3a5bd9ef2d751ee10127f137e1 /arch/arm/mach-tegra/cpuidle.c | |
parent | 25baa7bacaa7f5df156d40889e7f88e7945f577d (diff) |
ARM: tegra: power: Initialize and update LP2 exit latency
Change-Id: Id6bacc252774758d9ea03b7f2cc91897b5817e10
Reviewed-on: http://git-master/r/55069
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Rebase-Id: Ra8e8dfed500041886700a8fd44b0b917367225b3
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.c')
-rw-r--r-- | arch/arm/mach-tegra/cpuidle.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c index 541b50213e34..694ab2943fe9 100644 --- a/arch/arm/mach-tegra/cpuidle.c +++ b/arch/arm/mach-tegra/cpuidle.c @@ -47,6 +47,7 @@ #include "sleep.h" int tegra_lp2_exit_latency; +static int tegra_lp2_power_off_time; static unsigned int tegra_lp2_min_residency; struct cpuidle_driver tegra_idle = { @@ -121,6 +122,9 @@ static int tegra_idle_enter_lp2(struct cpuidle_device *dev, hrtimer_peek_ahead_timers(); smp_rmb(); + state->exit_latency = tegra_lp2_exit_latency; + state->target_residency = tegra_lp2_exit_latency + + tegra_lp2_power_off_time; if (state->target_residency < tegra_lp2_min_residency) state->target_residency = tegra_lp2_min_residency; @@ -222,8 +226,9 @@ static int __init tegra_cpuidle_init(void) return ret; #ifdef CONFIG_PM_SLEEP - /* !!!FIXME!!! Add tegra_lp2_power_off_time */ tegra_lp2_min_residency = tegra_cpu_lp2_min_residency(); + tegra_lp2_exit_latency = tegra_cpu_power_good_time(); + tegra_lp2_power_off_time = tegra_cpu_power_off_time(); #endif for_each_possible_cpu(cpu) { |