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

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Jun 30 08:32:04 UTC 2017


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.

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

Best regards
---
Kuninori Morimoto


More information about the dri-devel mailing list