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.ha...@samsung.com>
---
 drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c 
b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index 5bdf1a0..dc2e69a 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -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;
 }
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to