[PATCH v2 1/1] drm/i915/xehp: add wait on depth stall done bit handling
Chris Wilson
chris.p.wilson at linux.intel.com
Fri Mar 7 10:33:11 UTC 2025
Quoting Juha-Pekka Heikkila (2025-02-14 16:57:11)
> Add writing of WAIT_ON_DEPTH_STALL_DONE_DISABLE for gen12, this
> is performance optimization.
>
> Bspec: 46132
>
> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12411
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
> drivers/gpu/drm/i915/gt/intel_gt_regs.h | 3 +++
> drivers/gpu/drm/i915/gt/intel_workarounds.c | 6 ++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> index 6dba65e54cdb..a6e50af44b46 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> @@ -409,6 +409,9 @@
> #define GEN7_SO_PRIM_STORAGE_NEEDED(n) _MMIO(0x5240 + (n) * 8)
> #define GEN7_SO_PRIM_STORAGE_NEEDED_UDW(n) _MMIO(0x5240 + (n) * 8 + 4)
>
> +#define GEN8_WM_CHICKEN2 MCR_REG(0x5584)
> +#define WAIT_ON_DEPTH_STALL_DONE_DISABLE REG_BIT(5)
> +
> #define GEN9_WM_CHICKEN3 _MMIO(0x5588)
> #define GEN9_FACTOR_IN_CLR_VAL_HIZ (1 << 9)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index db04c3ee02e2..116683ebe074 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -742,6 +742,12 @@ static void gen12_ctx_workarounds_init(struct intel_engine_cs *engine,
> /* Wa_1606376872 */
> wa_masked_en(wal, COMMON_SLICE_CHICKEN4, DISABLE_TDC_LOAD_BALANCING_CALC);
> }
Do we not have an "optional" tuning section?
> +
> + /*
> + * This bit must be set to enable performance optimization for fast
> + * clears.
> + */
> + wa_mcr_write_or(wal, GEN8_WM_CHICKEN2, WAIT_ON_DEPTH_STALL_DONE_DISABLE);
This should only be applied to rcs contexts, not all.
-Chris
More information about the Intel-gfx
mailing list