summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);