[PATCH v1.1 2/2] drm: rcar-du: Repair vblank for DRM page flips using the VSP1

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Jul 2 14:23:24 UTC 2017


Hi Morimoto-san,

On Friday 30 Jun 2017 08:32:04 Kuninori Morimoto wrote:
> Hi Kieran
> 
> > -static void rcar_du_vsp_complete(void *private)
> > +static void rcar_du_vsp_complete(void *private, bool completed)
> >  {
> >  	struct rcar_du_crtc *crtc = private;
> > 
> > -	rcar_du_crtc_finish_page_flip(crtc);
> > +	if (crtc->vblank_enable)
> > +		drm_crtc_handle_vblank(&crtc->crtc);
> > +
> > +	if (completed)
> > +		rcar_du_crtc_finish_page_flip(crtc);
> >  }
> 
> Here, this "vblank_enable" flag, timestamp will be update on
> drm_crtc_handle_vblank().
> 
> For example modetest Flip test, if we stop it by Ctrl+C, then, vblank_enable
> will be false, Then, vblank timestamp isn't updated on waiting method on
> drm_atomic_helper_wait_for_vblanks(). Thus we will have timeout error.

I've noticed this issue as well when testing Kieran's patch, and I will fix 
it.

> And, print complete is now indicated on VSP Frame End,
> in interlace input case, print complete will be indicated to user
> on each ODD, EVEN timing.
> 
> Before this patch, for example 1080i at 60Hz, print complete indication
> happen in 30Hz.
> After this patch, in interlace case, indication coming 60Hz

Isn't this to be expected ? In 1080i at 60Hz the frame rate is 60 frames per 
second, so shouldn't vertical blanking be reported at 60Hz ?

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list