summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorAravind Venkateswaran <aravindh@codeaurora.org>2014-10-17 12:02:05 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:35:14 -0700
commitef6fec42a89ba0f538df40f90bd9d5368fda034e (patch)
treea7e478300316c2ed502d22e19dd1bef91bbc7c66 /drivers/video/fbdev
parent73f7e3a8bdfda933102d9afba43c11a960c55e8c (diff)
msm: mdss: unblank panel when entering doze mode for video mode panels
For video mode panels, MDSS hardware needs to be on as long as the panel is on. When doze mode is requested for a video mode panel, no special optimizations can be done in the display driver to configure the hardware in a low power state. As such, when doze mode is requested for video mode panels, simply unblank the panel if it is not already on. Change-Id: I0f279d78b9b5c8eebb2bf654df628acafa408f23 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index 9d5f62672d02..5d866351aee0 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -1202,6 +1202,22 @@ static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
blank_mode);
cur_power_state = mfd->panel_power_state;
+
+ /*
+ * If doze mode is requested for video mode panels, treat
+ * the request as full unblank as there are no low power mode
+ * settings for video mode panels.
+ */
+ if ((FB_BLANK_VSYNC_SUSPEND == blank_mode) &&
+ (mfd->panel_info->type != MIPI_CMD_PANEL)) {
+ pr_debug("Doze mode only valid for cmd mode panels\n");
+
+ if (mdss_panel_is_power_on(cur_power_state))
+ return 0;
+ else
+ blank_mode = FB_BLANK_UNBLANK;
+ }
+
switch (blank_mode) {
case FB_BLANK_UNBLANK:
pr_debug("unblank called. cur pwr state=%d\n", cur_power_state);