summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_fbc.c
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2016-01-18 20:45:56 +0300
committerPaulo Zanoni <paulo.r.zanoni@intel.com>2016-01-29 23:20:39 +0300
commit9b42281f9ddafe459e0b0d91ddf1939fbf84d832 (patch)
treef73e8e34d6b8f999738c3dde3c9f5e49de664b76 /drivers/gpu/drm/i915/intel_fbc.c
parente8216e502acaad129210c3c8b30cb4ab41e70239 (diff)
downloadlinux-9b42281f9ddafe459e0b0d91ddf1939fbf84d832.tar.xz
drm/i915/fbc: don't store/check a pointer to the FB
We already make sure we run intel_fbc_update_update during modesets and page flips, and this function takes care of deactivating FBC, so it shouldn't be possible for us to reach the condition we check at intel_fbc_work_fn. So instead of grabbing framebuffer references and adding a lot of code to track when we need to free them, just don't track anything at all since we shouldn't need to. v2: Rebase. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1453210558-7875-25-git-send-email-paulo.r.zanoni@intel.com
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 35e92bc6b9cf..2c896f95d2c3 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -405,8 +405,7 @@ retry:
goto retry;
}
- if (crtc->base.primary->fb == work->fb)
- fbc->activate(dev_priv);
+ fbc->activate(dev_priv);
work->scheduled = false;
@@ -441,7 +440,6 @@ static void intel_fbc_schedule_activation(struct intel_crtc *crtc)
* we're not releasing fbc.lock, so it won't have an opportunity to grab
* it to discover that it was cancelled. So we just update the expected
* jiffy count. */
- work->fb = crtc->base.primary->fb;
work->scheduled = true;
work->scheduled_vblank = drm_crtc_vblank_count(&crtc->base);
drm_crtc_vblank_put(&crtc->base);