]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/exynos/decon5433: kill BIT_IRQS_ENABLED flag
authorAndrzej Hajda <a.hajda@samsung.com>
Wed, 5 Apr 2017 07:28:33 +0000 (09:28 +0200)
committerInki Dae <inki.dae@samsung.com>
Thu, 1 Jun 2017 07:21:38 +0000 (16:21 +0900)
Since DECON uses enable_irq/disable_irq to full control IRQs,
there is no point in having flags to trace it separately.
As a bonus condition for software trigger becomes always true,
so it can be removed.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos5433_drm_decon.c

index 5bdf1a0ec862275673c259d01a127dfdb85da558..dc2e69a9cf1367edbc729c07bf719b14fd1eee71 100644 (file)
@@ -49,7 +49,6 @@ static const char * const decon_clks_name[] = {
 
 enum decon_flag_bits {
        BIT_CLKS_ENABLED,
-       BIT_IRQS_ENABLED,
        BIT_WIN_UPDATED,
        BIT_SUSPENDED
 };
@@ -112,8 +111,6 @@ static int decon_enable_vblank(struct exynos_drm_crtc *crtc)
        if (!(ctx->out_type & I80_HW_TRG))
                enable_irq(ctx->te_irq);
 
-       set_bit(BIT_IRQS_ENABLED, &ctx->flags);
-
        return 0;
 }
 
@@ -121,7 +118,6 @@ static void decon_disable_vblank(struct exynos_drm_crtc *crtc)
 {
        struct decon_context *ctx = crtc->ctx;
 
-       clear_bit(BIT_IRQS_ENABLED, &ctx->flags);
        if (test_bit(BIT_SUSPENDED, &ctx->flags))
                return;
 
@@ -536,9 +532,7 @@ static irqreturn_t decon_te_irq_handler(int irq, void *dev_id)
            (ctx->out_type & I80_HW_TRG))
                return IRQ_HANDLED;
 
-       if (test_and_clear_bit(BIT_WIN_UPDATED, &ctx->flags) ||
-           test_bit(BIT_IRQS_ENABLED, &ctx->flags))
-               decon_set_bits(ctx, DECON_TRIGCON, TRIGCON_SWTRIGCMD, ~0);
+       decon_set_bits(ctx, DECON_TRIGCON, TRIGCON_SWTRIGCMD, ~0);
 
        return IRQ_HANDLED;
 }