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.sh...@intel.com>

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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to