[Intel-gfx] [PATCH 2/2] drm/i915/icl: Add WaDisableBankHangMode
Chris Wilson
chris at chris-wilson.co.uk
Mon May 20 09:26:57 UTC 2019
Quoting Chris Wilson (2019-05-20 10:22:36)
> Quoting Tvrtko Ursulin (2019-05-20 09:28:16)
> > From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> >
> > Disable GPU hang by default on unrecoverable ECC cache errors.
>
> uint32_t l3cr;
> anv_pack_struct(&l3cr, GENX(L3CNTLREG),
> .SLMEnable = has_slm,
> #if GEN_GEN == 11
> /* WA_1406697149: Bit 9 "Error Detection Behavior Control" must be set
> * in L3CNTLREG register. The default setting of the bit is not the
> * desirable behavior.
> */
> .ErrorDetectionBehaviorControl = true,
> .UseFullWays = true,
> #endif
> .URBAllocation = cfg->n[GEN_L3P_URB],
> .ROAllocation = cfg->n[GEN_L3P_RO],
> .DCAllocation = cfg->n[GEN_L3P_DC],
> .AllAllocation = cfg->n[GEN_L3P_ALL]);
>
> /* Set up the L3 partitioning. */
> emit_lri(&cmd_buffer->batch, GENX(L3CNTLREG_num), l3cr);
>
> Concurs.
>
> > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> > ---
> > drivers/gpu/drm/i915/gt/intel_workarounds.c | 6 ++++++
> > drivers/gpu/drm/i915/i915_reg.h | 3 +++
> > 2 files changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > index 4494bc917084..dea7df01e0dc 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> > @@ -532,6 +532,12 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine)
> > {
> > struct drm_i915_private *i915 = engine->i915;
> > struct i915_wa_list *wal = &engine->ctx_wa_list;
> > + struct drm_i915_private *dev_priv = i915;
> > +
> > + /* WaDisableBankHangMode:icl */
> > + wa_write(wal,
> > + GEN8_L3CNTLREG,
> > + I915_READ(GEN8_L3CNTLREG) | GEN8_ERRDETBCTRL);
>
> Do you have any clue as to what HW is doing that means we can't set this
> in gt_workadounds and just rely on it being part of default context
> state? Could be a magical power context register which doesn't take
> until the GPU is active. Ok, that seems believable, just ugly to have a
> context register that not masked.
>
> Acked-by: Chris Wilson <chris at chris-wilson.co.uk>
And probably should be cc:stable if the recommendation change and it
prevents a hang.
-Chris
More information about the Intel-gfx
mailing list