[Bug 80709] GPU HANG: ecode 0:0xf4e9fffe, in X [19246], reason: Ring hung, action: reset

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jun 30 09:33:57 PDT 2014


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

--- Comment #1 from Chris Wilson <chris at chris-wilson.co.uk> ---
Try:

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 0edc97f..9e5a295 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2852,7 +2852,7 @@ static int semaphore_passed(struct intel_engine_cs *ring)
 {
        struct drm_i915_private *dev_priv = ring->dev->dev_private;
        struct intel_engine_cs *signaller;
-       u32 seqno, ctl;
+       u32 seqno;

        ring->hangcheck.deadlock++;

@@ -2860,19 +2860,20 @@ static int semaphore_passed(struct intel_engine_cs
*ring)
        if (signaller == NULL)
                return -1;

+       printk("%s waiting on %s [recursion depth %d], seqno 0x%x [current
0x%x]\n",
+              ring->name, signaller->name, signaller->hangcheck.deadlock,
+              seqno, signaller->get_seqno(signaller, false));
+
        /* Prevent pathological recursion due to driver bugs */
        if (signaller->hangcheck.deadlock >= I915_NUM_RINGS)
                return -1;

-       /* cursory check for an unkickable deadlock */
-       ctl = I915_READ_CTL(signaller);
-       if (ctl & RING_WAIT_SEMAPHORE && semaphore_passed(signaller) < 0)
-               return -1;
-
        if (i915_seqno_passed(signaller->get_seqno(signaller, false), seqno))
                return 1;

-       if (signaller->hangcheck.deadlock)
+       /* cursory check for an unkickable deadlock */
+       if (I915_READ_CTL(signaller) & RING_WAIT_SEMAPHORE &&
+           semaphore_passed(signaller) < 0)
                return -1;

        return 0;

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20140630/58cb2152/attachment-0001.html>


More information about the intel-gfx-bugs mailing list