[Bug 59593] [ilk] GPU hung / Failed to reset chip

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 28 12:46:14 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=59593

--- Comment #13 from Jesse Barnes <jbarnes at virtuousgeek.org> ---
I wonder if this patch might help with the reset:

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 0cfc778..1c53438 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -744,6 +744,7 @@ static int ironlake_do_reset(struct drm_device *dev)
     int ret;

     gdrst = I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR);
+    gdrst &= ~GRDOM_MASK;
     I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR,
            gdrst | GRDOM_RENDER | GRDOM_RESET_ENABLE);
     ret = wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500);
@@ -752,6 +753,7 @@ static int ironlake_do_reset(struct drm_device *dev)

     /* We can't reset render&media without also resetting display ... */
     gdrst = I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR);
+    gdrst &= ~GRDOM_MASK;
     I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR,
            gdrst | GRDOM_MEDIA | GRDOM_RESET_ENABLE);
     return wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500);
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 5e91fbb..95ad87c 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -91,6 +91,7 @@
 #define  GRDOM_FULL    (0<<2)
 #define  GRDOM_RENDER    (1<<2)
 #define  GRDOM_MEDIA    (3<<2)
+#define  GRDOM_MASK    (3<<2)
 #define  GRDOM_RESET_ENABLE (1<<0)

 #define GEN6_MBCUNIT_SNPCR    0x900c /* for LLC config */

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20130328/b4598593/attachment.html>


More information about the intel-gfx-bugs mailing list