mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-14 16:23:51 +08:00
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>
This commit is contained in:
parent
5aa6c9ace5
commit
1514d50b7a
@ -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);
|
||||
}
|
||||
|
||||
|
@ -89,6 +89,7 @@
|
||||
#define VIDCON0_ENVID_F (1 << 0)
|
||||
|
||||
/* VIDOUTCON0 */
|
||||
#define VIDOUT_INTERLACE_FIELD_F (1 << 29)
|
||||
#define VIDOUT_INTERLACE_EN_F (1 << 28)
|
||||
#define VIDOUT_LCD_ON (1 << 24)
|
||||
#define VIDOUT_IF_F_MASK (0x3 << 20)
|
||||
|
Loading…
Reference in New Issue
Block a user