drm/exynos/dsi: mask frame-done interrupt
authorAndrzej Hajda <a.hajda@samsung.com>
Tue, 8 May 2018 09:36:58 +0000 (11:36 +0200)
committerInki Dae <inki.dae@samsung.com>
Thu, 24 May 2018 07:46:55 +0000 (16:46 +0900)
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>
drivers/gpu/drm/exynos/exynos_drm_dsi.c

index eae44fd..7c3030b 100644 (file)
@@ -1264,15 +1264,15 @@ static irqreturn_t exynos_dsi_irq(int irq, void *dev_id)
 
        if (status & DSIM_INT_SW_RST_RELEASE) {
                u32 mask = ~(DSIM_INT_RX_DONE | DSIM_INT_SFR_FIFO_EMPTY |
-                       DSIM_INT_SFR_HDR_FIFO_EMPTY | DSIM_INT_FRAME_DONE |
-                       DSIM_INT_RX_ECC_ERR | DSIM_INT_SW_RST_RELEASE);
+                       DSIM_INT_SFR_HDR_FIFO_EMPTY | DSIM_INT_RX_ECC_ERR |
+                       DSIM_INT_SW_RST_RELEASE);
                exynos_dsi_write(dsi, DSIM_INTMSK_REG, mask);
                complete(&dsi->completed);
                return IRQ_HANDLED;
        }
 
        if (!(status & (DSIM_INT_RX_DONE | DSIM_INT_SFR_FIFO_EMPTY |
-                       DSIM_INT_FRAME_DONE | DSIM_INT_PLL_STABLE)))
+                       DSIM_INT_PLL_STABLE)))
                return IRQ_HANDLED;
 
        if (exynos_dsi_transfer_finish(dsi))