OSDN Git Service

drm/i915: Quietly cancel FBC activation if CRTC is turned off before worker
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 25 Aug 2017 15:02:15 +0000 (16:02 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 26 Aug 2017 11:39:41 +0000 (12:39 +0100)
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@chris-wilson.co.uk>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170825150215.19236-1-chris@chris-wilson.co.uk
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_fbc.c

index 55ed6bb..58a772d 100644 (file)
@@ -419,9 +419,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);