]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/exynos/exynos5433_drm_decon.c
drm/exynos/decon5433: signal vblank only on odd fields
[karo-tx-linux.git] / drivers / gpu / drm / exynos / exynos5433_drm_decon.c
index b828480e81c580a52ac1d886aee35444b4716bff..0fd6f7a18364a69ba67cb000674593fc94041e19 100644 (file)
@@ -591,6 +591,13 @@ static irqreturn_t decon_irq_handler(int irq, void *dev_id)
 
        if (val) {
                writel(val, ctx->addr + DECON_VIDINTCON1);
+               if (ctx->out_type & IFTYPE_HDMI) {
+                       val = readl(ctx->addr + DECON_VIDOUTCON0);
+                       val &= VIDOUT_INTERLACE_EN_F | VIDOUT_INTERLACE_FIELD_F;
+                       if (val ==
+                           (VIDOUT_INTERLACE_EN_F | VIDOUT_INTERLACE_FIELD_F))
+                               return IRQ_HANDLED;
+               }
                drm_crtc_handle_vblank(&ctx->crtc->base);
        }