[Intel-gfx] [PATCH 2/2] drm/i915/execlists: Always reset the context's RING registers

Chris Wilson chris at chris-wilson.co.uk
Wed Apr 10 14:46:43 UTC 2019


Quoting Mika Kuoppala (2019-04-10 15:40:13)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> >       /* Rerun the request; its payload has been neutered (if guilty). */
> > -     rq->ring->head = intel_ring_wrap(rq->ring, rq->head);
> > -     intel_ring_update_space(rq->ring);
> > +out_replay:
> > +     ce->ring->head =
> > +             rq ? intel_ring_wrap(ce->ring, rq->head) : ce->ring->tail;
> 
> The ce and rq ring should be same with the rq set. I guess
> you had a reasons to keep it as ce, perhaps because it is
> the culprit.

Yes, by this point we know that rq->hw_context == ce, and so rq->ring ==
ce->ring. I decided that execlists_reset() was now all about the active
context, and the request just a hint as how far along that context we had
completed -- hence trying to using ce as the primary throughout.
-Chris


More information about the Intel-gfx mailing list