summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu-panel.c
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 /arch/arm/mach-tegra/board-cardhu-panel.c
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>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-panel.c')
-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);
}