Quoting Chris Wilson (2019-10-27 13:13:09) > The request's timeline will only contain requests from this context, in > order of execution. Therefore, we can simply look back along this > timeline to find the currently executing request. > > If we do find that the current context has completed its last request, > that does not imply that all requests are completed in the context, so > only advance the ring->head up to the end of the known completions! > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> <SNIP> > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -252,22 +252,15 @@ static void mark_eio(struct i915_request *rq) > > static struct i915_request *active_request(struct i915_request *rq) > { > - const struct intel_context * const ce = rq->hw_context; > - struct i915_request *active = NULL; > + struct i915_request *active = rq; > struct list_head *list; > > - if (!i915_request_is_active(rq)) /* unwound, but incomplete! */ > - return rq; > - Especially now with the above removed, the fact that we're only really interested in the timeline becomes bit obscure. Passing in a timeline would be more logical. Either way: Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Regards, Joonas _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx