0903551
From 28d0147bded959b2c4d3eb1aa957452d5dbb0cc9 Mon Sep 17 00:00:00 2001
0903551
From: Fedora Kernel Team <kernel-team@fedoraproject.org>
0903551
Date: Mon, 20 Jun 2016 14:52:10 +0200
0903551
Subject: [PATCH 5/6] i915/fbc: Disable on HSW by default for now
0903551
0903551
Upstream: posted on dri-devel (and r-b'd)
0903551
0903551
Author:     cpaul@redhat.com <cpaul@redhat.com>
0903551
AuthorDate: Thu Jun 9 11:58:15 2016 -0400
0903551
Commit:     Rob Clark <rclark@redhat.com>
0903551
CommitDate: Thu Jun 9 15:43:07 2016 -0400
0903551
0903551
    i915/fbc: Disable on HSW by default for now
0903551
0903551
    >From https://bugs.freedesktop.org/show_bug.cgi?id=96461 :
0903551
0903551
    This was kind of a difficult bug to track down. If you're using a
0903551
    Haswell system running GNOME and you have fbc completely enabled and
0903551
    working, playing videos can result in video artifacts. Steps to
0903551
    reproduce:
0903551
0903551
    - Run GNOME
0903551
    - Ensure FBC is enabled and active
0903551
    - Download a movie, I used the ogg version of Big Buck Bunny for this
0903551
    - Run `gst-launch-1.0 filesrc location='some_movie.ogg' ! decodebin !
0903551
      glimagesink` in a terminal
0903551
    - Watch for about over a minute, you'll see small horizontal lines go
0903551
      down the screen.
0903551
0903551
    For the time being, disable FBC for Haswell by default.
0903551
0903551
    Signed-off-by: Lyude <cpaul@redhat.com>
0903551
    Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
0903551
    Cc: stable@vger.kernel.org
0903551
---
0903551
 drivers/gpu/drm/i915/intel_fbc.c | 3 +--
0903551
 1 file changed, 1 insertion(+), 2 deletions(-)
0903551
0903551
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
0903551
index 0f0492f..28f4407 100644
0903551
--- a/drivers/gpu/drm/i915/intel_fbc.c
0903551
+++ b/drivers/gpu/drm/i915/intel_fbc.c
0903551
@@ -823,8 +823,7 @@ static bool intel_fbc_can_choose(struct intel_crtc *crtc)
0903551
 {
0903551
 	struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
0903551
 	struct intel_fbc *fbc = &dev_priv->fbc;
0903551
-	bool enable_by_default = IS_HASWELL(dev_priv) ||
0903551
-				 IS_BROADWELL(dev_priv);
0903551
+	bool enable_by_default = IS_BROADWELL(dev_priv);
0903551
 
0903551
 	if (intel_vgpu_active(dev_priv->dev)) {
0903551
 		fbc->no_fbc_reason = "VGPU is active";
0903551
-- 
0903551
2.7.4
0903551