[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

i915 gen 6 GPU hangs - possible fix



Various people have reported GPU hangs on i915 gen 6 (found in Intel's
'Sandy Bridge' desktop/mobile CPUs introduced in 2011) since 3.2.39-1.
This was the first version with the DRM subsystem backported from 3.4.
However it also has some changes that were cc'd to stable and which I
backported into 3.2.y but Greg didn't include 3.4.y.

In Ubuntu, one such change has been reverted, as below.  Would anyone
suffering from this bug like to test this?  Also, if someone could pick
out those bug reports and send this to the bug reporters to test, that
would be very helpful.

(For reference the upstream commit being reverted was f05bb0c7b624 and
in our package it's applied as the patch
bugfix/x86/drm-i915-GFX_MODE-Flush-TLB-Invalidate-Mode-must-be-.patch.

The bug report motivating the upstream change was
https://bugzilla.kernel.org/show_bug.cgi?id=52311 and was for a post-3.7
regression, so it was very likely a mistake to apply it.)

Ben.

-------- Forwarded Message --------
From: Steve Conklin <sconklin@canonical.com>
To: kernel-team@lists.ubuntu.com
Subject: [PATCH] Revert "drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for scanline waits"
Date: Mon, 22 Apr 2013 16:23:17 -0500

This reverts commit 30ae292ec68402c773ddc8c80f83f7cd84289a39.

This has been shown to cause GPU hangs
---
 drivers/gpu/drm/i915/intel_ringbuffer.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index c3654ff..fbaa785 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -422,11 +422,6 @@ static int init_render_ring(struct intel_ring_buffer *ring)
 	if (INTEL_INFO(dev)->gen >= 6)
 		I915_WRITE(MI_MODE, GFX_MODE_ENABLE(ASYNC_FLIP_PERF_DISABLE));
 
-	/* Required for the hardware to program scanline values for waiting */
-	if (INTEL_INFO(dev)->gen == 6)
-		I915_WRITE(GFX_MODE,
-			   GFX_MODE_ENABLE(GFX_TLB_INVALIDATE_ALWAYS));
-
 	if (IS_GEN7(dev))
 		I915_WRITE(GFX_MODE_GEN7,
 			   GFX_MODE_DISABLE(GFX_TLB_INVALIDATE_ALWAYS) |
-- 
1.7.9.5


-- 
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team


-- 
Ben Hutchings
Knowledge is power.  France is bacon.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: