[PATCH] drm/i915/gen12: Apply recommended L3 hashing mask

Gustavo Sousa gustavo.sousa at intel.com
Mon Dec 5 19:33:29 UTC 2022


On Thu, Dec 01, 2022 at 02:22:10PM -0800, Matt Roper wrote:
> The TGL/RKL/DG1/ADL performance tuning guide suggests programming a
> literal value of 0x2FC0100F for this register.  The register's hardware
> default value is 0x2FC0108F, so this translates to just clearing one
> bit.
> 
> Take this opportunity to also clean up the register definition and
> re-write its existing bits/fields in the preferred notation.
> 
> Bspec: 31870
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt_regs.h     | 9 +++++----
>  drivers/gpu/drm/i915/gt/intel_workarounds.c | 4 ++++
>  2 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> index 61a5c9a83b1b..f8eb807b56f9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> @@ -958,10 +958,11 @@
>  #define   GEN7_DISABLE_SAMPLER_PREFETCH		(1 << 30)
>  
>  #define GEN8_GARBCNTL				_MMIO(0xb004)
> -#define   GEN9_GAPS_TSV_CREDIT_DISABLE		(1 << 7)
> -#define   GEN11_ARBITRATION_PRIO_ORDER_MASK	(0x3f << 22)
> -#define   GEN11_HASH_CTRL_EXCL_MASK		(0x7f << 0)
> -#define   GEN11_HASH_CTRL_EXCL_BIT0		(1 << 0)
> +#define   GEN11_ARBITRATION_PRIO_ORDER_MASK	REG_GENMASK(27, 22)
> +#define   GEN12_BUS_HASH_CTL_BIT_EXC		REG_BIT(7)
> +#define   GEN9_GAPS_TSV_CREDIT_DISABLE		REG_BIT(7)
> +#define   GEN11_HASH_CTRL_EXCL_MASK		REG_GENMASK(6, 0)
> +#define   GEN11_HASH_CTRL_EXCL_BIT0		REG_FIELD_PREP(GEN11_HASH_CTRL_EXCL_MASK, 0x1)
>  
>  #define GEN9_SCRATCH_LNCF1			_MMIO(0xb008)
>  #define   GEN9_LNCF_NONIA_COHERENT_ATOMICS_ENABLE	REG_BIT(0)
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index 85822ebb0d64..2f13a92f77d3 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -2937,6 +2937,10 @@ add_render_compute_tuning_settings(struct drm_i915_private *i915,
>  	if (INTEL_INFO(i915)->tuning_thread_rr_after_dep)
>  		wa_mcr_masked_field_set(wal, GEN9_ROW_CHICKEN4, THREAD_EX_ARB_MODE,
>  					THREAD_EX_ARB_MODE_RR_AFTER_DEP);
> +
> +	if (GRAPHICS_VER(i915) == 12 && GRAPHICS_VER_FULL(i915) < IP_VER(12, 50)) {
> +		wa_write_clr(wal, GEN8_GARBCNTL, GEN12_BUS_HASH_CTL_BIT_EXC);
> +	}

Removing the unnecessary braces as pointed out by dim checkpatch,

Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>

>  }
>  
>  /*
> -- 
> 2.38.1
> 


More information about the dri-devel mailing list