aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_fbc.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-08-25 11:02:15 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2017-08-26 07:39:41 -0400
commit908b6e6e8ab4c1e0c3783be4c4b437ac6fa374ea (patch)
treec8fc8362d3256708c3d6f0dee19cc5e5251fc425 /drivers/gpu/drm/i915/intel_fbc.c
parent5654a1623c8717c40384b1b79251b4d9dd73b751 (diff)
drm/i915: Quietly cancel FBC activation if CRTC is turned off before worker
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>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_fbc.c')
-rw-r--r--drivers/gpu/drm/i915/intel_fbc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index 55ed6bb2f6c7..58a772de6672 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -419,9 +419,7 @@ static void intel_fbc_work_fn(struct work_struct *__work)
419 struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[crtc->pipe]; 419 struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[crtc->pipe];
420 420
421 if (drm_crtc_vblank_get(&crtc->base)) { 421 if (drm_crtc_vblank_get(&crtc->base)) {
422 DRM_ERROR("vblank not available for FBC on pipe %c\n", 422 /* CRTC is now off, leave FBC deactivated */
423 pipe_name(crtc->pipe));
424
425 mutex_lock(&fbc->lock); 423 mutex_lock(&fbc->lock);
426 work->scheduled = false; 424 work->scheduled = false;
427 mutex_unlock(&fbc->lock); 425 mutex_unlock(&fbc->lock);