summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle.h
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2012-01-30 13:42:05 -0800
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-02-03 06:17:59 -0800
commit98e66926adcf7af88c87f467a11fba35c143f663 (patch)
tree16fa23ae25a97a8b557d31048b38a53ad068f292 /arch/arm/mach-tegra/cpuidle.h
parent3563d218e037805c363771df34adc3b8c666e8c1 (diff)
ARM: tegra: power: Separate lp2 latency for G/LP CPU modes
Do not use common lp2 exit latency for Tegra3 CPU G and CPU LP modes. Separately measure and adjust latency in each mode; restart calculation after mode switch from the last measured latency in the target mode. Reviewed-on: http://git-master/r/78344 Change-Id: I54803c6abf4107a578aa1fed8feaa4a419a9c07f Signed-off-by: Alex Frid <afrid@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/78902 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.h')
-rw-r--r--arch/arm/mach-tegra/cpuidle.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.h b/arch/arm/mach-tegra/cpuidle.h
index 12a29ff2e236..ce6eab940fd8 100644
--- a/arch/arm/mach-tegra/cpuidle.h
+++ b/arch/arm/mach-tegra/cpuidle.h
@@ -98,6 +98,16 @@ static inline bool tegra_lp2_is_allowed(struct cpuidle_device *dev,
#endif
}
+static inline void tegra_lp2_set_global_latency(struct cpuidle_state *state)
+{
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+ state->exit_latency = tegra_lp2_exit_latency;
+#endif
+ /* Tegra3 does not use global exit latency */
+}
+
+void tegra_lp2_update_target_residency(struct cpuidle_state *state);
+
#ifdef CONFIG_DEBUG_FS
static inline int tegra_lp2_debug_show(struct seq_file *s, void *data)
{