Commit e7696d65 authored by John Harrison's avatar John Harrison

drm/i915: Allow error capture of a pending request

A hang situation has been observed where the only requests on the
context were either completed or not yet started according to the
breaadcrumbs. However, the register state claimed a batch was (maybe)
in progress. So, allow capture of the pending request on the grounds
that this might be better than nothing.

v2: Reword 'not started' warning message (Tvrtko)
Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127002842.3169194-6-John.C.Harrison@Intel.com
parent e8a3319c
...@@ -1624,12 +1624,9 @@ capture_engine(struct intel_engine_cs *engine, ...@@ -1624,12 +1624,9 @@ capture_engine(struct intel_engine_cs *engine,
return NULL; return NULL;
intel_engine_get_hung_entity(engine, &ce, &rq); intel_engine_get_hung_entity(engine, &ce, &rq);
if (rq && !i915_request_started(rq)) { if (rq && !i915_request_started(rq))
drm_info(&engine->gt->i915->drm, "Got hung context on %s with active request %lld:%lld [0x%04X] not yet started\n", drm_info(&engine->gt->i915->drm, "Got hung context on %s with active request %lld:%lld [0x%04X] not yet started\n",
engine->name, rq->fence.context, rq->fence.seqno, ce->guc_id.id); engine->name, rq->fence.context, rq->fence.seqno, ce->guc_id.id);
i915_request_put(rq);
rq = NULL;
}
if (rq) { if (rq) {
capture = intel_engine_coredump_add_request(ee, rq, ATOMIC_MAYFAIL); capture = intel_engine_coredump_add_request(ee, rq, ATOMIC_MAYFAIL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment