summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngrid Gallardo <ingridg@codeaurora.org>2014-09-29 11:25:10 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:34:31 -0700
commitacd7b2ddcd4b9e78ba02ea801d0fe388ab1bafbe (patch)
tree14581c0a594da31848ae35dc6479b3c192c53fcd
parentf74ed544d29f140eef8d17acadf85df8c31d17ce (diff)
msm: mdss: add display thread for DCM mode
During DCM mode it is needed to keep display thread to process display commands. Change-Id: I39e56b79dc484f328a046a397f7416769453df3d Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index e78e85f902a6..7c0c710b430d 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -2885,6 +2885,11 @@ int mdss_fb_dcm(struct msm_fb_data_type *mfd, int req_state)
case DCM_UNBLANK:
if (mfd->dcm_state == DCM_UNINIT &&
mdss_fb_is_power_off(mfd) && mfd->mdp.on_fnc) {
+ if (mfd->disp_thread == NULL) {
+ ret = mdss_fb_start_disp_thread(mfd);
+ if (ret < 0)
+ return ret;
+ }
ret = mfd->mdp.on_fnc(mfd);
if (ret == 0) {
mfd->panel_power_state = MDSS_PANEL_POWER_ON;
@@ -2919,6 +2924,9 @@ int mdss_fb_dcm(struct msm_fb_data_type *mfd, int req_state)
mfd->dcm_state = DCM_UNINIT;
else
pr_err("DCM_BLANK failed\n");
+
+ if (mfd->disp_thread)
+ mdss_fb_stop_disp_thread(mfd);
}
break;
case DTM_ENTER: