diff options
author | Ping Li <pingli@codeaurora.org> | 2015-10-28 11:02:23 -0700 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:47:11 -0700 |
commit | 531f5b81e56cbcf56f45067dce5b677101fb7364 (patch) | |
tree | 7a2c79e63d62daac7b3196e4540140c9ad077d8e /drivers | |
parent | 28276a4f1d00851b777e48202f9fe356d15be2b0 (diff) |
msm: mdss: Reset AD state variables when FB device is released
When framebuffer device is released, the AD status variables need
to be reset.
Change-Id: I7240a43949b429214cc8e0b4fa7c59823aeafb87
Signed-off-by: Ping Li <pingli@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index bef0a73231af..f85c114c9900 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -6759,11 +6759,17 @@ static int pp_mfd_ad_release_all(struct msm_fb_data_type *mfd) if (!ad->mfd) return 0; + mutex_lock(&ad->lock); + ad->sts &= ~PP_STS_ENABLE; + ad->mfd = NULL; + ad->bl_mfd = NULL; + ad->state = 0; + cancel_work_sync(&ad->calc_work); + mutex_unlock(&ad->lock); + ctl = mfd_to_ctl(mfd); if (ctl && ctl->ops.remove_vsync_handler) ctl->ops.remove_vsync_handler(ctl, &ad->handle); - cancel_work_sync(&ad->calc_work); - ad->state = 0; return ret; } |