summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle.h
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-09-28 22:42:06 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:12 -0800
commitbe98d35b06c52310e8a5cdb22f0ba454c30313c2 (patch)
tree38aad22e51b059d93585ae175b13aeee540eaf3b /arch/arm/mach-tegra/cpuidle.h
parentf61025d7b8189d5df711283ffbfa0d411c4c5dc0 (diff)
ARM: tegra: power: Update Tegra3 LP2 time prediction
Use local timer count to predict time to be spent by secondary CPU in LP2 state instead of scheduler timing. This is more accurate, as local timer wakes CPU after counts down to zero. Change-Id: I28fe6c3153e1c527abf4cf66b556d64516582a35 Reviewed-on: http://git-master/r/55629 Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Antti Miettinen <amiettinen@nvidia.com> Rebase-Id: R577246dfe6bce06bf7a1f87d0ab488322d98b631
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 406031b26c2d..12a29ff2e236 100644
--- a/arch/arm/mach-tegra/cpuidle.h
+++ b/arch/arm/mach-tegra/cpuidle.h
@@ -41,11 +41,21 @@ void tegra3_cpu_idle_stats_lp2_ready(unsigned int cpu);
void tegra3_cpu_idle_stats_lp2_time(unsigned int cpu, s64 us);
bool tegra3_lp2_is_allowed(struct cpuidle_device *dev,
struct cpuidle_state *state);
+int tegra3_cpudile_init_soc(void);
#ifdef CONFIG_DEBUG_FS
int tegra3_lp2_debug_show(struct seq_file *s, void *data);
#endif
#endif
+static inline int tegra_cpudile_init_soc(void)
+{
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+ return 0;
+#else
+ return tegra3_cpudile_init_soc();
+#endif
+}
+
static inline void tegra_cpu_idle_stats_lp2_ready(unsigned int cpu)
{
#ifdef CONFIG_ARCH_TEGRA_2x_SOC