Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > If we cannot trust the reset will flush out the CS event queue such that > process_csb() reports an accurate view of HW, we will need to search the > active and pending contexts to determine which was actually running at > the time we issued the reset. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/intel_engine_types.h | 5 +++++ > drivers/gpu/drm/i915/gt/intel_lrc.c | 4 +++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_types.h b/drivers/gpu/drm/i915/gt/intel_engine_types.h > index 80cdde712842..4804587442e7 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_types.h > +++ b/drivers/gpu/drm/i915/gt/intel_engine_types.h > @@ -166,6 +166,11 @@ struct intel_engine_execlists { > */ > u32 error_interrupt; > > + /** > + * @reset_ccid: Active CCID [EXECLISTS_STATUS_HI] at the time of reset > + */ > + u32 reset_ccid; > + > /** > * @no_priolist: priority lists disabled > */ > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index f028114714cd..55bf3cdf3b38 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -3724,6 +3724,8 @@ static void execlists_reset_prepare(struct intel_engine_cs *engine) > */ > ring_set_paused(engine, 1); > intel_engine_stop_cs(engine); > + > + engine->execlists.reset_ccid = active_ccid(engine); > } > > static void reset_csb_pointers(struct intel_engine_cs *engine) > @@ -3798,7 +3800,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled) > * its request, it was still running at the time of the > * reset and will have been clobbered. > */ > - rq = execlists_active(execlists); > + rq = active_context(engine, engine->execlists.reset_ccid); > if (!rq) > goto unwind; > > -- > 2.20.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx