diff options
| author | Ingrid Gallardo <ingridg@codeaurora.org> | 2014-09-29 11:25:10 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:34:31 -0700 |
| commit | acd7b2ddcd4b9e78ba02ea801d0fe388ab1bafbe (patch) | |
| tree | 14581c0a594da31848ae35dc6479b3c192c53fcd | |
| parent | f74ed544d29f140eef8d17acadf85df8c31d17ce (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.c | 8 |
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: |
