Quoting Ramalingam C (2019-10-01 18:26:24) > Read of FF_MODE2 register is broken at TGL A0. Hence verification of the > Wa_1604555607 associated to that register needs to be skipped. > > Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> > cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/intel_workarounds.c | 22 ++++++++++++++++++++- > drivers/gpu/drm/i915/i915_drv.h | 6 ++++++ > 2 files changed, 27 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c > index 4049b876492a..c63d8c3df4d3 100644 > --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c > @@ -991,10 +991,21 @@ wa_list_apply(struct intel_uncore *uncore, const struct i915_wa_list *wal) > > for (i = 0, wa = wal->list; i < wal->count; i++, wa++) { > intel_uncore_rmw_fw(uncore, wa->reg, wa->mask, wa->val); > - if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) > + if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM)) { > + > + /* > + * Read of FF_MODE2 is broken on TGL A0. > + * Hence skip the corresponding WA verification. > + */ > + if (IS_TGL_REVID(uncore->i915, 0, TGL_REVID_A0) && > + i915_mmio_reg_equal(wa->reg, FF_MODE2) && > + wa->mask == FF_MODE2_TDS_TIMER_MASK) > + continue; This does not scale very well. You will note that wa_verify() already includes a detail on which bits can be read back from HW. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx