Re: [Intel-gfx] [PATCH 3/3] drm/i915/gt: Stop invalidating the PD cachelines for gen7
Quoting Mika Kuoppala (2020-02-06 16:32:22) > Chris Wilson writes: > > > Trust that the HW does the right thing after simply updating the > > PD_DIR_BASE? > > Bspec offers an invalidate before writing the base. > > So, lets assume the DCLV write is superfluous as it will be > the same. > > Then the sequence would be TLB_INVLIDATE followed by > PP_DIR_BASE (which will all pds) I can recommend not doing the *cs++ = _MASKED_BIT_ENABLE(INSTPM_TLB_INVALIDATE); first. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 3/3] drm/i915/gt: Stop invalidating the PD cachelines for gen7
Chris Wilson writes: > Trust that the HW does the right thing after simply updating the > PD_DIR_BASE? Bspec offers an invalidate before writing the base. So, lets assume the DCLV write is superfluous as it will be the same. Then the sequence would be TLB_INVLIDATE followed by PP_DIR_BASE (which will all pds) -Mika > > Signed-off-by: Chris Wilson > Cc: Mika Kuoppala > --- > drivers/gpu/drm/i915/gt/intel_ring_submission.c | 10 +- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c > b/drivers/gpu/drm/i915/gt/intel_ring_submission.c > index f915a63e1110..23f4fc2669d1 100644 > --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c > +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c > @@ -1341,14 +1341,10 @@ static int load_pd_dir(struct i915_request *rq, > const struct intel_engine_cs * const engine = rq->engine; > u32 *cs; > > - cs = intel_ring_begin(rq, 12); > + cs = intel_ring_begin(rq, 6); > if (IS_ERR(cs)) > return PTR_ERR(cs); > > - *cs++ = MI_LOAD_REGISTER_IMM(1); > - *cs++ = i915_mmio_reg_offset(RING_PP_DIR_DCLV(engine->mmio_base)); > - *cs++ = valid; > - > *cs++ = MI_LOAD_REGISTER_IMM(1); > *cs++ = i915_mmio_reg_offset(RING_PP_DIR_BASE(engine->mmio_base)); > *cs++ = px_base(ppgtt->pd)->ggtt_offset << 10; > @@ -1359,10 +1355,6 @@ static int load_pd_dir(struct i915_request *rq, > *cs++ = intel_gt_scratch_offset(engine->gt, > INTEL_GT_SCRATCH_FIELD_DEFAULT); > > - *cs++ = MI_LOAD_REGISTER_IMM(1); > - *cs++ = i915_mmio_reg_offset(RING_INSTPM(engine->mmio_base)); > - *cs++ = _MASKED_BIT_ENABLE(INSTPM_TLB_INVALIDATE); > - > intel_ring_advance(rq, cs); > > return rq->engine->emit_flush(rq, EMIT_FLUSH); > -- > 2.25.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 3/3] drm/i915/gt: Stop invalidating the PD cachelines for gen7
Trust that the HW does the right thing after simply updating the PD_DIR_BASE? Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/gt/intel_ring_submission.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c b/drivers/gpu/drm/i915/gt/intel_ring_submission.c index f915a63e1110..23f4fc2669d1 100644 --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c @@ -1341,14 +1341,10 @@ static int load_pd_dir(struct i915_request *rq, const struct intel_engine_cs * const engine = rq->engine; u32 *cs; - cs = intel_ring_begin(rq, 12); + cs = intel_ring_begin(rq, 6); if (IS_ERR(cs)) return PTR_ERR(cs); - *cs++ = MI_LOAD_REGISTER_IMM(1); - *cs++ = i915_mmio_reg_offset(RING_PP_DIR_DCLV(engine->mmio_base)); - *cs++ = valid; - *cs++ = MI_LOAD_REGISTER_IMM(1); *cs++ = i915_mmio_reg_offset(RING_PP_DIR_BASE(engine->mmio_base)); *cs++ = px_base(ppgtt->pd)->ggtt_offset << 10; @@ -1359,10 +1355,6 @@ static int load_pd_dir(struct i915_request *rq, *cs++ = intel_gt_scratch_offset(engine->gt, INTEL_GT_SCRATCH_FIELD_DEFAULT); - *cs++ = MI_LOAD_REGISTER_IMM(1); - *cs++ = i915_mmio_reg_offset(RING_INSTPM(engine->mmio_base)); - *cs++ = _MASKED_BIT_ENABLE(INSTPM_TLB_INVALIDATE); - intel_ring_advance(rq, cs); return rq->engine->emit_flush(rq, EMIT_FLUSH); -- 2.25.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx