summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ringbuffer.h
diff options
context:
space:
mode:
authorMika Kuoppala2014-01-30 18:04:43 +0100
committerDaniel Vetter2014-02-04 11:57:24 +0100
commitb6b0fac04de9ae9b1559eddf8e9490f3c9a01885 (patch)
tree9f912bd88ae30b6407400f7d5c8a4882ee0a82a6 /drivers/gpu/drm/i915/intel_ringbuffer.h
parentdrm/i915: Drop WaDisablePSDDualDispatchEnable:ivb for IVB GT2 (diff)
downloadkernel-qcow2-linux-b6b0fac04de9ae9b1559eddf8e9490f3c9a01885.tar.gz
kernel-qcow2-linux-b6b0fac04de9ae9b1559eddf8e9490f3c9a01885.tar.xz
kernel-qcow2-linux-b6b0fac04de9ae9b1559eddf8e9490f3c9a01885.zip
drm/i915: Use hangcheck score to find guilty context
With full ppgtt using acthd is not enough to find guilty batch buffer. We get multiple false positives as acthd is per vm. Instead of scanning which vm was running on a ring, to find corressponding context, use a different, simpler, strategy of finding batches that caused gpu hang: If hangcheck has declared ring to be hung, find first non complete request on that ring and claim it was guilty. v2: Rebase Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73652 Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.h')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index 71a73f4fe252..38c757e136dc 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -41,6 +41,8 @@ enum intel_ring_hangcheck_action {
HANGCHECK_HUNG,
};
+#define HANGCHECK_SCORE_RING_HUNG 31
+
struct intel_ring_hangcheck {
bool deadlock;
u32 seqno;