drm/exynos/dsi: mask frame-done interrupt
authorAndrzej Hajda <a.hajda@samsung.com>
Fri, 1 Jul 2016 13:48:04 +0000 (15:48 +0200)
committerInki Dae <inki.dae@samsung.com>
Wed, 6 Jul 2016 04:17:22 +0000 (13:17 +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.

Change-Id: I51b6a205cf235fab824888364980d358950b8c85
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_dsi.c

index 720bfed0022e1d0cd7f0656af894f92307d8611f..51c21b2ae4f00b569d73bd9a78c1367d17c2e2c3 100644 (file)
@@ -1248,15 +1248,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);
                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))