diff options
| author | Kuogee Hsieh <khsieh@codeaurora.org> | 2013-05-09 16:21:38 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:17:59 -0700 |
| commit | b67f094115b396ab52c323ea16b93ffe65b07ff4 (patch) | |
| tree | 6440665f5c5832a42608145dd1aa4a0f1feba159 /drivers/video/fbdev | |
| parent | 8bd92abc68d27b1450b0e6ca45b4c3544c707a62 (diff) | |
mdss: display: enable/disable VIDEO_DONE at wait4video_done
For video mode panel, DSI_INTR_VIDEO_DONE irq only enabled when
there is dcs command ready to be sent and disabled after dcs
command had been sent.
Change-Id: I76cf33ad16cf300df2b8ff29874f471d601cb95d
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi_host.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index 1542206c0f60..3ee4d08ce48d 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -1448,6 +1448,13 @@ static int mdss_dsi_cmd_dma_rx(struct mdss_dsi_ctrl_pdata *ctrl, void mdss_dsi_wait4video_done(struct mdss_dsi_ctrl_pdata *ctrl) { unsigned long flag; + u32 data; + + /* DSI_INTL_CTRL */ + data = MIPI_INP((ctrl->ctrl_base) + 0x0110); + data |= DSI_INTR_VIDEO_DONE_MASK; + + MIPI_OUTP((ctrl->ctrl_base) + 0x0110, data); spin_lock_irqsave(&ctrl->mdp_lock, flag); INIT_COMPLETION(ctrl->video_comp); @@ -1456,6 +1463,10 @@ void mdss_dsi_wait4video_done(struct mdss_dsi_ctrl_pdata *ctrl) wait_for_completion_timeout(&ctrl->video_comp, msecs_to_jiffies(VSYNC_PERIOD * 4)); + + data = MIPI_INP((ctrl->ctrl_base) + 0x0110); + data &= ~DSI_INTR_VIDEO_DONE_MASK; + MIPI_OUTP((ctrl->ctrl_base) + 0x0110, data); } static void mdss_dsi_wait4video_eng_busy(struct mdss_dsi_ctrl_pdata *ctrl) |
