diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2017-01-20 07:52:24 +0100 |
---|---|---|
committer | Inki Dae <inki.dae@samsung.com> | 2017-02-07 13:52:52 +0900 |
commit | 1514d50b7a1b2c2bf72545625eb6bedef793c40a (patch) | |
tree | 4a5db1e1785c52b0062b59b50e8b7bae835fcbd3 /drivers/gpu/drm/exynos | |
parent | 5aa6c9ace55d2ca2d41118208fe8476907b4b066 (diff) | |
download | op-kernel-dev-1514d50b7a1b2c2bf72545625eb6bedef793c40a.zip op-kernel-dev-1514d50b7a1b2c2bf72545625eb6bedef793c40a.tar.gz |
drm/exynos/decon5433: signal vblank only on odd fields
In case of interlace mode irq is generated for odd and even fields, but
vblank should be signaled only for the last emitted field.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c index b828480..0fd6f7a 100644 --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c @@ -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); } |