[Intel-gfx] [PATCH 3/4] drm/i915: Skip cancelled requests in flight
Chris Wilson
chris at chris-wilson.co.uk
Wed Mar 8 11:49:20 UTC 2017
On Wed, Mar 08, 2017 at 11:40:09AM +0000, Chris Wilson wrote:
> @@ -486,6 +503,10 @@ submit_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state)
> switch (state) {
> case FENCE_COMPLETE:
> trace_i915_gem_request_submit(request);
> + if (unlikely(fence->error == -EIO)) {
> + i915_gem_request_skip(request);
> + dma_fence_set_error(&request->fence, fence->error);
> + }
Hmm. This expects the GPU to recover before third party fences complete.
First party completion will propagate the -EIO, but still we submit to a
wedged gpu.
Needs a
if (i915_terminally_wedged(request->i915)) {
dma_fence_set_error(-EIO);
i915_gem_request_submit(request);
intel_engine_init_global_seqno(request->engine, request->global_seqno);
} else
> request->engine->submit_request(request);
> break;
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list