Re: [PATCH 01/17] drm/i915/execlists: Always clear pending&inflight requests on reset

Chris Wilson
2019-08-01T08:13:38Z

Quoting Andi Shyti (2019-08-01 09:08:11)
> Hi Chris,
>
> > If we skip the reset as we found the engine inactive at the time of the
> > reset, we still need to clear the residual inflight & pending request
> > bookkeeping to reflect the current state of HW.
>
> [...]
>
> > Where not having cleared the pending array on reset, it persists
> > indefinitely.
>
> des this fix Bug 111144(*)?

It shouldn't, since the stall is not on the engine that is being reset.

> > - /*
> > - * Catch up with any missed context-switch interrupts.
> > - *
> > - * Ideally we would just read the remaining CSB entries now that we
> > - * know the gpu is idle. However, the CSB registers are sometimes^W
> > - * often trashed across a GPU reset! Instead we have to rely on
> > - * guessing the missed context-switch events by looking at what
> > - * requests were completed.
> > - */
> > - execlists_cancel_port_requests(execlists);
> > -
>
> why did this end up here in a first place?

History, that's where it started, then code got rearranged around it.
-Chris