[Intel-gfx] [PATCH] drm/i915/tgl: Add Wa_22010178259:tgl

Souza, Jose jose.souza at intel.com
Wed Feb 19 21:37:48 UTC 2020


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 at intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> ---
>  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)


More information about the Intel-gfx mailing list