diff options
| author | Padmanabhan Komanduru <pkomandu@codeaurora.org> | 2014-02-27 16:21:30 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:27:29 -0700 |
| commit | 5f335fb759d48474df1c798cb15eee215ebcaa0b (patch) | |
| tree | 6a577201f0d7210a52102669abc96113d867ef76 | |
| parent | bd891cc20051e9e3452a0d25757224546cce5716 (diff) | |
msm: mdss: fix clearing interrupts of DSI0 during isr for DSI1
Currently we need to handle DSI-1 interrupts only for panel/DCS
commands in the software during broadcast mode. When we handle
isr for DSI-1 interrupt, we clear all the interrupts for DSI-0
also. This might cause timeout issues for waits on DSI-0
interrupts like CMD_MDP_DONE since the interrupt is cleared
and we do not handle the interrupt for DSI-0. Fix this issue
by clearing only the DMA_DONE interrupt for DSI-0 during the
isr handling for DSI-1.
Change-Id: Id1735673f94066ff6c7250eaef7d9394b0525c2f
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi_host.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index 11e6c984440a..9908a32ec163 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -1483,7 +1483,9 @@ irqreturn_t mdss_dsi_isr(int irq, void *ptr) u32 isr0; isr0 = MIPI_INP(left_ctrl_pdata->ctrl_base + 0x0110);/* DSI_INTR_CTRL */ - MIPI_OUTP(left_ctrl_pdata->ctrl_base + 0x0110, isr0); + if (isr0 & DSI_INTR_CMD_DMA_DONE) + MIPI_OUTP(left_ctrl_pdata->ctrl_base + 0x0110, + DSI_INTR_CMD_DMA_DONE); } pr_debug("%s: ndx=%d isr=%x\n", __func__, ctrl->ndx, isr); |
