[PATCH v4 3/3] drm/xe/bmg: Update Wa_14022085890
Summers, Stuart
stuart.summers at intel.com
Thu Jun 12 19:15:14 UTC 2025
On Thu, 2025-06-12 at 00:09 -0700, Lucas De Marchi wrote:
> From: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
>
> Set GT min frequency to 1200Mhz once driver load is complete.
>
> v2: Review comments (Rodrigo)
> v3: Apply Wa earlier so user_req_min is not clobbered.
> v4: Apply to all GTs (Lucas)
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc_pc.c | 5 +++++
> drivers/gpu/drm/xe/xe_wa_oob.rules | 4 ++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c
> b/drivers/gpu/drm/xe/xe_guc_pc.c
> index aedf59162709a..39d2acb2f30f6 100644
> --- a/drivers/gpu/drm/xe/xe_guc_pc.c
> +++ b/drivers/gpu/drm/xe/xe_guc_pc.c
> @@ -51,6 +51,7 @@
>
> #define LNL_MERT_FREQ_CAP 800
> #define BMG_MERT_FREQ_CAP 2133
> +#define BMG_MIN_FREQ 1200
>
> #define SLPC_RESET_TIMEOUT_MS 5 /* roughly 5ms, but no need for
> precision */
> #define SLPC_RESET_EXTENDED_TIMEOUT_MS 1000 /* To be used only at
> pc_start */
> @@ -817,6 +818,7 @@ void xe_guc_pc_init_early(struct xe_guc_pc *pc)
>
> static int pc_adjust_freq_bounds(struct xe_guc_pc *pc)
> {
> + struct xe_tile *tile = gt_to_tile(pc_to_gt(pc));
> int ret;
>
> lockdep_assert_held(&pc->freq_lock);
> @@ -843,6 +845,9 @@ static int pc_adjust_freq_bounds(struct xe_guc_pc
> *pc)
> if (pc_get_min_freq(pc) > pc->rp0_freq)
> ret = pc_set_min_freq(pc, pc->rp0_freq);
>
> + if (XE_WA(tile->primary_gt, 14022085890))
> + ret = pc_set_min_freq(pc, max(BMG_MIN_FREQ,
> pc_get_min_freq(pc)));
> +
> out:
> return ret;
> }
> diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules
> b/drivers/gpu/drm/xe/xe_wa_oob.rules
> index 425cb401c2762..38b589fe9198d 100644
> --- a/drivers/gpu/drm/xe/xe_wa_oob.rules
> +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
> @@ -59,3 +59,7 @@ no_media_l3 MEDIA_VERSION(3000)
> MEDIA_VERSION_RANGE(1301, 3000)
> 16026508708 GRAPHICS_VERSION_RANGE(1200, 3001)
> MEDIA_VERSION_RANGE(1300, 3000)
> +
> +# SoC workaround - should apply to all platforms using this
> +# graphics version in tile->primary_gt
If this is an SoC specific workaround that spreads across GTs,
shouldn't we be using the device ID rather than the GMD ID to determine
the workaround application?
Thanks,
Stuart
> +14022085890 GRAPHICS_VERSION(2001)
>
More information about the Intel-xe
mailing list