[Intel-gfx] [PATCH 2/3] drm/i915: Allocate a common scratch page
Chris Wilson
chris at chris-wilson.co.uk
Wed Nov 28 13:37:04 UTC 2018
Quoting Mika Kuoppala (2018-11-28 13:21:41)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> > index 08fd9b12e4d7..3464058cbfc7 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -1281,7 +1281,7 @@ gen8_emit_flush_coherentl3_wa(struct intel_engine_cs *engine, u32 *batch)
> > {
> > *batch++ = MI_STORE_REGISTER_MEM_GEN8 | MI_SRM_LRM_GLOBAL_GTT;
> > *batch++ = i915_mmio_reg_offset(GEN8_L3SQCREG4);
> > - *batch++ = i915_ggtt_offset(engine->scratch) + 256;
> > + *batch++ = i915_ggtt_offset(engine->i915->gt.scratch) + 256;
>
> How do we get away with these rmws? Because we only have one render engine
> or that we sync after each engine init?
We get away with it because it's the only engine in this gen using this
dword. We can make it more official by marking reserved portions of the
scratch page.
Why is L3SQCREG4 whitelisted? mesa doesn't seem to be using it.
-Chris
More information about the Intel-gfx
mailing list