Message ID | 1363276337-12509-14-git-send-email-mika.kuoppala@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 5e91e94..7d13259 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1889,7 +1889,8 @@ void i915_hangcheck_elapsed(unsigned long data) ring->hangcheck_score++; /* Kick ring */ - i915_hangcheck_ring_hung(ring); + ring->hangcheck_was_waiting = + !i915_hangcheck_ring_hung(ring); } else { ring->hangcheck_score = 0; } diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h index 97b8f37..573b0ef 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -139,6 +139,7 @@ struct intel_ring_buffer { u32 hangcheck_seqno; int hangcheck_score; + bool hangcheck_was_waiting; void *private; };
For guilty batchbuffer analysis later on on ring resets, mark all waiting rings so that we can skip them when trying to find a true culprit for the gpu hang. Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> --- drivers/gpu/drm/i915/i915_irq.c | 3 ++- drivers/gpu/drm/i915/intel_ringbuffer.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-)