drm/i915/gt: Signal cancelled requests
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 30 Sep 2020 16:32:51 +0000 (17:32 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 30 Sep 2020 16:59:25 +0000 (17:59 +0100)
After marking the requests on an engine as cancelled upon wedging, send
any signals for their completions.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200930163253.2789-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/gt/intel_ring_submission.c

index 1a1c3b0..2875370 100644 (file)
@@ -4407,6 +4407,7 @@ static void execlists_reset_cancel(struct intel_engine_cs *engine)
        /* Mark all executing requests as skipped. */
        list_for_each_entry(rq, &engine->active.requests, sched.link)
                mark_eio(rq);
+       intel_engine_signal_breadcrumbs(engine);
 
        /* Flush the queued requests to the timeline list (for retiring). */
        while ((rb = rb_first_cached(&execlists->queue))) {
index 1ca1bac..9ecf952 100644 (file)
@@ -444,6 +444,7 @@ static void reset_cancel(struct intel_engine_cs *engine)
                i915_request_set_error_once(request, -EIO);
                i915_request_mark_complete(request);
        }
+       intel_engine_signal_breadcrumbs(engine);
 
        /* Remaining _unready_ requests will be nop'ed when submitted */