Message ID | 1365089568-20457-13-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 df40bb2..5acc46e 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1965,7 +1965,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 503e913..49c71ff 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.h +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -40,6 +40,7 @@ struct intel_hw_status_page { struct intel_ring_hangcheck { u32 seqno; int score; + bool was_waiting; }; struct intel_ring_buffer {
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(-)