[PATCH] drm/imx: fix crtc vblank state regression

Philipp Zabel p.zabel at pengutronix.de
Tue Aug 30 07:46:21 UTC 2016


Am Montag, den 29.08.2016, 17:51 +0200 schrieb Lucas Stach:
> The atomic conversion lost the notification to let the DRM core
> know about the current state of the CRTC vblank interrupts. This
> regressed the ability of the core to reject page flip attempts
> on currently disabled CRTCs. Add back the notifications.
> 
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> ---
>  drivers/gpu/drm/imx/ipuv3-crtc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
> index 08e188bc10fc..462056e4b9e4 100644
> --- a/drivers/gpu/drm/imx/ipuv3-crtc.c
> +++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
> @@ -76,6 +76,8 @@ static void ipu_crtc_disable(struct drm_crtc *crtc)
>  		crtc->state->event = NULL;
>  	}
>  	spin_unlock_irq(&crtc->dev->event_lock);
> +
> +	drm_crtc_vblank_off(crtc);
>  }
>  
>  static void imx_drm_crtc_reset(struct drm_crtc *crtc)
> @@ -175,6 +177,8 @@ static int ipu_crtc_atomic_check(struct drm_crtc *crtc,
>  static void ipu_crtc_atomic_begin(struct drm_crtc *crtc,
>  				  struct drm_crtc_state *old_crtc_state)
>  {
> +	drm_crtc_vblank_on(crtc);
> +
>  	spin_lock_irq(&crtc->dev->event_lock);
>  	if (crtc->state->event) {
>  		WARN_ON(drm_crtc_vblank_get(crtc));

Applied, thanks.

regards
Philipp



More information about the dri-devel mailing list