drm/i915: track ring progression using seqnos
Instead of relying in acthd, track ring seqno progression to detect if ring has hung. v2: put hangcheck stuff inside struct (Chris Wilson) v3: initialize hangcheck.seqno (Ben Widawsky) Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:

committed by
Daniel Vetter

parent
79ee20dc85
commit
92cab73451
@@ -37,6 +37,10 @@ struct intel_hw_status_page {
|
||||
#define I915_READ_SYNC_0(ring) I915_READ(RING_SYNC_0((ring)->mmio_base))
|
||||
#define I915_READ_SYNC_1(ring) I915_READ(RING_SYNC_1((ring)->mmio_base))
|
||||
|
||||
struct intel_ring_hangcheck {
|
||||
u32 seqno;
|
||||
};
|
||||
|
||||
struct intel_ring_buffer {
|
||||
const char *name;
|
||||
enum intel_ring_id {
|
||||
@@ -137,6 +141,8 @@ struct intel_ring_buffer {
|
||||
struct i915_hw_context *default_context;
|
||||
struct i915_hw_context *last_context;
|
||||
|
||||
struct intel_ring_hangcheck hangcheck;
|
||||
|
||||
void *private;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user