drm/i915: Record the position of the request upon error
So that we can tally the request against the command sequence in the ringbuffer, or merely jump to the interesting locations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
52d39a2135
commit
ee4f42b10b
@ -799,9 +799,10 @@ static int i915_error_state(struct seq_file *m, void *unused)
|
|||||||
dev_priv->ring[i].name,
|
dev_priv->ring[i].name,
|
||||||
error->ring[i].num_requests);
|
error->ring[i].num_requests);
|
||||||
for (j = 0; j < error->ring[i].num_requests; j++) {
|
for (j = 0; j < error->ring[i].num_requests; j++) {
|
||||||
seq_printf(m, " seqno 0x%08x, emitted %ld\n",
|
seq_printf(m, " seqno 0x%08x, emitted %ld, tail 0x%08x\n",
|
||||||
error->ring[i].requests[j].seqno,
|
error->ring[i].requests[j].seqno,
|
||||||
error->ring[i].requests[j].jiffies);
|
error->ring[i].requests[j].jiffies,
|
||||||
|
error->ring[i].requests[j].tail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,6 +183,7 @@ struct drm_i915_error_state {
|
|||||||
struct drm_i915_error_request {
|
struct drm_i915_error_request {
|
||||||
long jiffies;
|
long jiffies;
|
||||||
u32 seqno;
|
u32 seqno;
|
||||||
|
u32 tail;
|
||||||
} *requests;
|
} *requests;
|
||||||
int num_requests;
|
int num_requests;
|
||||||
} ring[I915_NUM_RINGS];
|
} ring[I915_NUM_RINGS];
|
||||||
|
@ -975,6 +975,7 @@ static void i915_gem_record_rings(struct drm_device *dev,
|
|||||||
erq = &error->ring[i].requests[count++];
|
erq = &error->ring[i].requests[count++];
|
||||||
erq->seqno = request->seqno;
|
erq->seqno = request->seqno;
|
||||||
erq->jiffies = request->emitted_jiffies;
|
erq->jiffies = request->emitted_jiffies;
|
||||||
|
erq->tail = request->tail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user