diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2018-05-08 05:36:58 -0400 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2018-05-24 03:46:55 -0400 |
commit | ecf81ed98c8df8c6d397f4e044af175481b5b831 (patch) | |
tree | b17b6ff73a07a7da8dfd1d4f0796b3e71e866c2b | |
parent | cb5fba715babc599e82f40d53b6b956efcc8fc25 (diff) |
drm/exynos/dsi: mask frame-done interrupt
DSI driver is not really interested in this interrupt. It causes only
unnecessary code execution of interrupt handler and could possibly
cause FIFO overflow - as it triggers DSI interrupt handler to process
next DSI transfer. With this patch we will get rid of about 30 IRQ
handler calls per second.
Fixes: e6f988a45857 ("drm/exynos: dsi: add support for Exynos5433")
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dsi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index eae44fd714f0..7c3030b7e586 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c | |||
@@ -1264,15 +1264,15 @@ static irqreturn_t exynos_dsi_irq(int irq, void *dev_id) | |||
1264 | 1264 | ||
1265 | if (status & DSIM_INT_SW_RST_RELEASE) { | 1265 | if (status & DSIM_INT_SW_RST_RELEASE) { |
1266 | u32 mask = ~(DSIM_INT_RX_DONE | DSIM_INT_SFR_FIFO_EMPTY | | 1266 | u32 mask = ~(DSIM_INT_RX_DONE | DSIM_INT_SFR_FIFO_EMPTY | |
1267 | DSIM_INT_SFR_HDR_FIFO_EMPTY | DSIM_INT_FRAME_DONE | | 1267 | DSIM_INT_SFR_HDR_FIFO_EMPTY | DSIM_INT_RX_ECC_ERR | |
1268 | DSIM_INT_RX_ECC_ERR | DSIM_INT_SW_RST_RELEASE); | 1268 | DSIM_INT_SW_RST_RELEASE); |
1269 | exynos_dsi_write(dsi, DSIM_INTMSK_REG, mask); | 1269 | exynos_dsi_write(dsi, DSIM_INTMSK_REG, mask); |
1270 | complete(&dsi->completed); | 1270 | complete(&dsi->completed); |
1271 | return IRQ_HANDLED; | 1271 | return IRQ_HANDLED; |
1272 | } | 1272 | } |
1273 | 1273 | ||
1274 | if (!(status & (DSIM_INT_RX_DONE | DSIM_INT_SFR_FIFO_EMPTY | | 1274 | if (!(status & (DSIM_INT_RX_DONE | DSIM_INT_SFR_FIFO_EMPTY | |
1275 | DSIM_INT_FRAME_DONE | DSIM_INT_PLL_STABLE))) | 1275 | DSIM_INT_PLL_STABLE))) |
1276 | return IRQ_HANDLED; | 1276 | return IRQ_HANDLED; |
1277 | 1277 | ||
1278 | if (exynos_dsi_transfer_finish(dsi)) | 1278 | if (exynos_dsi_transfer_finish(dsi)) |