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(*)? > - > - /* > - * 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? Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxx> Andi (*) https://bugs.freedesktop.org/show_bug.cgi?id=111144 > if (!rq) { > ce->ring->head = ce->ring->tail; > goto out_replay; > @@ -2356,6 +2344,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled) > > unwind: > /* Push back any incomplete requests for replay after the reset. */ > + execlists_cancel_port_requests(execlists); > __unwind_incomplete_requests(engine); > } _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx