Re: [PATCH 12/32] drm/i915: Invert the GEM wakeref hierarchy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Chris Wilson (2019-04-18 14:07:49)
> Quoting Tvrtko Ursulin (2019-04-18 13:42:59)
> > 
> > On 17/04/2019 08:56, Chris Wilson wrote:
> > > -static int init_render_ring(struct intel_engine_cs *engine)
> > > +static int rcs_resume(struct intel_engine_cs *engine)
> > >   {
> > >       struct drm_i915_private *dev_priv = engine->i915;
> > > -     int ret = init_ring_common(engine);
> > > -     if (ret)
> > > -             return ret;
> > >   
> > >       /* WaTimedSingleVertexDispatch:cl,bw,ctg,elk,ilk,snb */
> > >       if (IS_GEN_RANGE(dev_priv, 4, 6))
> > > @@ -875,7 +875,7 @@ static int init_render_ring(struct intel_engine_cs *engine)
> > >       if (INTEL_GEN(dev_priv) >= 6)
> > >               ENGINE_WRITE(engine, RING_IMR, ~engine->irq_keep_mask);
> > >   
> > > -     return 0;
> > > +     return xcs_resume(engine);
> > 
> > This inverts the order between the common and rcs init. One thing which 
> > jump out is the RING_IMR which is now done after starting the engine. 
> > Can we lose an interrupt now?
> 
> That write shouldn't be there, we take care of that inside the restart.

Even more to the point, they should have been set before we started the
engine!

Eeek, that looks to be really funky old behaviour.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux