[PATCH 07/61] drm/i915/gt: Pull ring submission resume under its caller forcewake

Chris Wilson chris at chris-wilson.co.uk
Wed Jan 13 23:07:44 UTC 2021


Quoting Mika Kuoppala (2021-01-13 23:01:13)
> > @@ -191,13 +187,10 @@ static int xcs_resume(struct intel_engine_cs *engine)
> >  {
> >       struct drm_i915_private *dev_priv = engine->i915;
> >       struct intel_ring *ring = engine->legacy.ring;
> > -     int ret = 0;
> >  
> >       ENGINE_TRACE(engine, "ring:{HEAD:%04x, TAIL:%04x}\n",
> >                    ring->head, ring->tail);
> >  
> > -     intel_uncore_forcewake_get(engine->uncore, FORCEWAKE_ALL);
> > -
> >       if (HWS_NEEDS_PHYSICAL(dev_priv))
> >               ring_setup_phys_status_page(engine);
> >       else
> > @@ -205,16 +198,13 @@ static int xcs_resume(struct intel_engine_cs *engine)
> >  
> >       intel_breadcrumbs_reset(engine->breadcrumbs);
> >  
> > -     /* Enforce ordering by reading HEAD register back */
> > -     ENGINE_POSTING_READ(engine, RING_HEAD);
> > -
> 
> This raises worry, see
> ece4a17d237a79f63fbfaf3f724a12b6d500555c
> 
> Do we introduce a another read as a post?

I was working under the assumption that our posting in stop_cs was
sufficient. No harm to restore it here though. Some paranoia, after all,
is justified.
-Chris


More information about the Intel-gfx-trybot mailing list