[Intel-gfx] [PATCH] drm/i915: Quietly cancel FBC activation if CRTC is turned off before worker

Daniel Vetter daniel at ffwll.ch
Fri Aug 25 17:25:03 UTC 2017


On Fri, Aug 25, 2017 at 04:02:15PM +0100, Chris Wilson wrote:
> Since we use a worker to enable FBC on the CRTC, it is possible for the
> CRTC to be switched off before we run. In this case, the CRTC will not
> allow us to wait upon a vblank, so remove the DRM_ERROR as this is very
> much expected.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102410
> Fixes: ca18d51d77eb ("drm/i915/fbc: wait for a vblank instead of 50ms when enabling")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>

full igt results haven't come in yet, but under the assumption you get a
pass on that (the hsw box runs all fbc tests, hoooray!):

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/i915/intel_fbc.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index e535615b6188..dbff5854296f 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -406,9 +406,7 @@ static void intel_fbc_work_fn(struct work_struct *__work)
>  	struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[crtc->pipe];
>  
>  	if (drm_crtc_vblank_get(&crtc->base)) {
> -		DRM_ERROR("vblank not available for FBC on pipe %c\n",
> -			  pipe_name(crtc->pipe));
> -
> +		/* CRTC is now off, leave FBC deactivated */
>  		mutex_lock(&fbc->lock);
>  		work->scheduled = false;
>  		mutex_unlock(&fbc->lock);
> -- 
> 2.14.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list