Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > Before we reset the GPU after marking the device as wedged, we wait for > all the remaining requests to be completed (and marked as EIO). > Afterwards, we should flush the request lists so the next batch start > with the driver in an idle start. s/start/state? > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index a5bd07338b46..30cd07ebcb8e 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -3273,7 +3273,8 @@ bool i915_gem_unset_wedged(struct drm_i915_private *i915) > if (!test_bit(I915_WEDGED, &i915->gpu_error.flags)) > return true; > > - /* Before unwedging, make sure that all pending operations > + /* > + * Before unwedging, make sure that all pending operations > * are flushed and errored out - we may have requests waiting upon > * third party fences. We marked all inflight requests as EIO, and > * every execbuf since returned EIO, for consistency we want all > @@ -3291,7 +3292,8 @@ bool i915_gem_unset_wedged(struct drm_i915_private *i915) > if (!rq) > continue; > > - /* We can't use our normal waiter as we want to > + /* > + * We can't use our normal waiter as we want to > * avoid recursively trying to handle the current > * reset. The basic dma_fence_default_wait() installs > * a callback for dma_fence_signal(), which is > @@ -3306,8 +3308,11 @@ bool i915_gem_unset_wedged(struct drm_i915_private *i915) > return false; > } > } > + i915_retire_requests(i915); > + GEM_BUG_ON(i915->gt.active_requests); > > - /* Undo nop_submit_request. We prevent all new i915 requests from > + /* > + * Undo nop_submit_request. We prevent all new i915 requests from > * being queued (by disallowing execbuf whilst wedged) so having > * waited for all active requests above, we know the system is idle > * and do not have to worry about a thread being inside > -- > 2.16.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx