On Mon, 2020-02-10 at 12:28 -0800, Matt Roper wrote: > We need to explicitly set the TLB Request Timer initial value in the > BW_BUDDY registers to 0x8 rather than relying on the hardware > default. > > Bspec: 52890 > Bspec: 50044 > Cc: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> > Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display_power.c | 6 ++++++ > drivers/gpu/drm/i915/i915_reg.h | 1 + > 2 files changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c > b/drivers/gpu/drm/i915/display/intel_display_power.c > index 6e55e88ca0d0..2ad2694a28e6 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_power.c > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c > @@ -5001,6 +5001,12 @@ static void tgl_bw_buddy_init(struct > drm_i915_private *dev_priv) > table[i].page_mask); > intel_de_write(dev_priv, BW_BUDDY2_PAGE_MASK, > table[i].page_mask); > + > + /* Wa_22010178259:tgl */ > + intel_de_rmw(dev_priv, BW_BUDDY1_CTL, > + BW_BUDDY_TLB_REQ_TIMER_MASK, 0x8); > + intel_de_rmw(dev_priv, BW_BUDDY2_CTL, > + BW_BUDDY_TLB_REQ_TIMER_MASK, 0x8); This will clear BW_BUDDY_TLB_REQ_TIMER_MASK and set 0x8, while it should be 0x8 << 16(adding a macro for that) > } > } > > diff --git a/drivers/gpu/drm/i915/i915_reg.h > b/drivers/gpu/drm/i915/i915_reg.h > index a6847f26678c..d829b9ae8402 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7766,6 +7766,7 @@ enum { > #define BW_BUDDY1_CTL _MMIO(0x45140) > #define BW_BUDDY2_CTL _MMIO(0x45150) > #define BW_BUDDY_DISABLE REG_BIT(31) > +#define BW_BUDDY_TLB_REQ_TIMER_MASK REG_GENMASK(21, 16) > > #define BW_BUDDY1_PAGE_MASK _MMIO(0x45144) > #define BW_BUDDY2_PAGE_MASK _MMIO(0x45154) _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx