diff options
| author | Vineet Bajaj <vbajaj@codeaurora.org> | 2014-05-12 17:52:53 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:29:59 -0700 |
| commit | 959165024868c3ad5f7413c752f102d9207c2efe (patch) | |
| tree | ae0baa10ce3ee7837086a28e5ab4560d3d94a80b /drivers/video/fbdev | |
| parent | 208c3bd8aa18db8dc42564021d7c99a34425893f (diff) | |
msm: mdss: Avoid unclocked register access with dsi_event_thread
In the case when ESD status check fails with DSI ACK
errors, there is a chance of unclocked register access when
DSI_INTR_CTRL register is being set.
Change-Id: I629b4ec642a86369b6ed693bdc6f8b4260ec1f5d
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi_host.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index c84cefb1e067..dea677b90a33 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -1427,8 +1427,10 @@ static int dsi_event_thread(void *data) if (todo & DSI_EV_MDP_FIFO_UNDERFLOW) { if (ctrl->recovery) { + mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 1); mdss_dsi_sw_reset_restore(ctrl); ctrl->recovery->fxn(ctrl->recovery->data); + mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 0); } } @@ -1440,7 +1442,9 @@ static int dsi_event_thread(void *data) spin_unlock_irqrestore(&ctrl->mdp_lock, flag); /* enable dsi error interrupt */ + mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 1); mdss_dsi_err_intr_ctrl(ctrl, DSI_INTR_ERROR_MASK, 1); + mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 0); } } |
