[PATCH v2 1/3] drm/xe/bmg: Update Wa_14022085890
Vinay Belgaumkar
vinay.belgaumkar at intel.com
Mon Jun 2 07:53:28 UTC 2025
Set GT min frequency to 1200Mhz once driver load is
complete.
v2: Review comments (Rodrigo)
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>
---
drivers/gpu/drm/xe/xe_guc_pc.c | 7 ++++++-
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
index 18c623992035..a0c205de67bb 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 */
@@ -877,8 +878,12 @@ static int pc_set_mert_freq_cap(struct xe_guc_pc *pc)
* Get updated min/max and stash them.
*/
ret = xe_guc_pc_get_min_freq(pc, &pc->stashed_min_freq);
- if (!ret)
+ if (!ret) {
+ if (XE_WA(pc_to_gt(pc), 14022085890))
+ pc->stashed_min_freq = max(BMG_MIN_FREQ, pc->stashed_min_freq);
ret = xe_guc_pc_get_max_freq(pc, &pc->stashed_max_freq);
+ }
+
if (ret)
return ret;
diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
index 9efc5accd43d..75fbdab68d44 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -59,3 +59,4 @@ no_media_l3 MEDIA_VERSION(3000)
MEDIA_VERSION_RANGE(1301, 3000)
16026508708 GRAPHICS_VERSION_RANGE(1200, 3001)
MEDIA_VERSION_RANGE(1300, 3000)
+14022085890 GRAPHICS_VERSION(2001)
--
2.38.1
More information about the Intel-xe
mailing list