[Intel-gfx] [PATCH] drm/i915: Disable FBC if primary plane is rotated on Haswell

Chris Wilson chris at chris-wilson.co.uk
Thu Nov 27 17:18:44 CET 2014


Quoting the workaround database:

"FBC can show stale data when using 180 degree hardware rotation of the
primary display plane.

WA: Do not enable FBC when using hardware 180 degree rotation on the
primary display plane."

References: https://bugs.freedesktop.org/show_bug.cgi?id=86548
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_pm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index f5ce91e..350053f 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -626,7 +626,8 @@ void intel_update_fbc(struct drm_device *dev)
 			DRM_DEBUG_KMS("framebuffer not tiled or fenced, disabling compression\n");
 		goto out_disable;
 	}
-	if (INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev) &&
+	if (((INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev)) ||
+	     IS_HASWELL(dev)) &&
 	    to_intel_plane(crtc->primary)->rotation != BIT(DRM_ROTATE_0)) {
 		if (set_no_fbc_reason(dev_priv, FBC_UNSUPPORTED_MODE))
 			DRM_DEBUG_KMS("Rotation unsupported, disabling\n");
-- 
1.9.1




More information about the Intel-gfx mailing list