diff options
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_fb.c | 16 |
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); |
