summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrem Sasidharan <psasidharan@nvidia.com>2012-06-27 18:58:45 -0700
committerLokesh Pathak <lpathak@nvidia.com>2012-07-26 04:46:42 -0700
commitda47078147f8080a3f71d7647eb391980924d5dd (patch)
treeb6bdb1cbbcb3cb40ccfe3ed02e867ae75ef5c5f0
parentf9c5e2b04d8823d95e4d84ab0369c352c54e6a96 (diff)
arm: tegra: cardhu: Change governor type
Power improvement for OS IDLE DISPLAY OFF, audio use cases. Governor is changed to conservative governor when panel is suspended. Default governor (interactive governor) is restored when the panel resumes (when user presses the power button). Seeing a power improvement of 22mW (42mW/64mW) for os idle display off and 30mW (57mW/87mW) for audio playback use cases Bug 1002294 Signed-off-by: Prem Sasidharan <psasidharan@nvidia.com> Change-Id: I06d2bca654bc8ff96fdf18d81a98c6e4ec838235 (cherry picked from commit 7002c3fe264163b6be38cf9e24bdf137f44ed69f) Reviewed-on: http://git-master/r/118196 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-cardhu-panel.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-panel.c b/arch/arm/mach-tegra/board-cardhu-panel.c
index 6fa33f919dad..e50a4433f11a 100644
--- a/arch/arm/mach-tegra/board-cardhu-panel.c
+++ b/arch/arm/mach-tegra/board-cardhu-panel.c
@@ -1213,11 +1213,19 @@ static void cardhu_panel_early_suspend(struct early_suspend *h)
fb_blank(registered_fb[0], FB_BLANK_POWERDOWN);
if (num_registered_fb > 1)
fb_blank(registered_fb[1], FB_BLANK_NORMAL);
+
+#ifdef CONFIG_TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND
+ cpufreq_store_default_gov();
+ cpufreq_change_gov(cpufreq_conservative_gov);
+#endif
}
static void cardhu_panel_late_resume(struct early_suspend *h)
{
unsigned i;
+#ifdef CONFIG_TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND
+ cpufreq_restore_default_gov();
+#endif
for (i = 0; i < num_registered_fb; i++)
fb_blank(registered_fb[i], FB_BLANK_UNBLANK);
}