summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorDhaval Patel <pdhaval@codeaurora.org>2015-11-19 11:59:51 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:11:53 -0700
commit0be39b8f3b91b0df2d2dbe75ca2123a38301560e (patch)
treeb40cbe26fe364b344bf5ca3235d89bb62a88bde0 /drivers/video/fbdev
parent8e923808c6197bf00f5b280558a893521e779e4d (diff)
msm: mdss: avoid vsync_handler update in lp2 power state
vsync_handler added in lp2 (doze_suspend) power state enables the vsync on hardware. That can lead to unclocked register access because device can go in pm_suspend in this power state. This change blocks the vsync_handler processing in lp2 power state. Change-Id: I4386baa6bc2f8303928edade79108b4983f66f42 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index cc378bb8c69b..c4fa50cbdca2 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -2639,7 +2639,8 @@ int mdss_mdp_overlay_vsync_ctrl(struct msm_fb_data_type *mfd, int en)
if (!ctl->ops.add_vsync_handler || !ctl->ops.remove_vsync_handler)
return -EOPNOTSUPP;
if (!ctl->panel_data->panel_info.cont_splash_enabled
- && !mdss_mdp_ctl_is_power_on(ctl)) {
+ && (!mdss_mdp_ctl_is_power_on(ctl) ||
+ mdss_panel_is_power_on_ulp(ctl->power_state))) {
pr_debug("fb%d vsync pending first update en=%d\n",
mfd->index, en);
return -EPERM;