@@ -201,7 +201,8 @@ void sun4i_tcon_enable_vblank(struct sun4i_tcon *tcon, bool enable)
201
201
DRM_DEBUG_DRIVER ("%sabling VBLANK interrupt\n" , enable ? "En" : "Dis" );
202
202
203
203
mask = SUN4I_TCON_GINT0_VBLANK_ENABLE (0 ) |
204
- SUN4I_TCON_GINT0_VBLANK_ENABLE (1 );
204
+ SUN4I_TCON_GINT0_VBLANK_ENABLE (1 ) |
205
+ SUN4I_TCON_GINT0_TCON0_TRI_FINISH_ENABLE ;
205
206
206
207
if (enable )
207
208
val = mask ;
@@ -582,7 +583,8 @@ static irqreturn_t sun4i_tcon_handler(int irq, void *private)
582
583
regmap_read (tcon -> regs , SUN4I_TCON_GINT0_REG , & status );
583
584
584
585
if (!(status & (SUN4I_TCON_GINT0_VBLANK_INT (0 ) |
585
- SUN4I_TCON_GINT0_VBLANK_INT (1 ))))
586
+ SUN4I_TCON_GINT0_VBLANK_INT (1 ) |
587
+ SUN4I_TCON_GINT0_TCON0_TRI_FINISH_INT )))
586
588
return IRQ_NONE ;
587
589
588
590
drm_crtc_handle_vblank (& scrtc -> crtc );
@@ -591,7 +593,8 @@ static irqreturn_t sun4i_tcon_handler(int irq, void *private)
591
593
/* Acknowledge the interrupt */
592
594
regmap_update_bits (tcon -> regs , SUN4I_TCON_GINT0_REG ,
593
595
SUN4I_TCON_GINT0_VBLANK_INT (0 ) |
594
- SUN4I_TCON_GINT0_VBLANK_INT (1 ),
596
+ SUN4I_TCON_GINT0_VBLANK_INT (1 ) |
597
+ SUN4I_TCON_GINT0_TCON0_TRI_FINISH_INT ,
595
598
0 );
596
599
597
600
if (engine -> ops -> vblank_quirk )
0 commit comments