[PATCH 2/2] drm/xe/bmg: Apply Wa_22019338487 for BMG

Vinay Belgaumkar vinay.belgaumkar at intel.com
Fri Apr 19 20:13:44 UTC 2024


Extend this WA to BMG GT as well. In this case media GT is
not affected.

Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
---
 drivers/gpu/drm/xe/xe_guc_pc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
index 7f82b6c2ad3c..280a0db01203 100644
--- a/drivers/gpu/drm/xe/xe_guc_pc.c
+++ b/drivers/gpu/drm/xe/xe_guc_pc.c
@@ -41,6 +41,7 @@
 #define GT_FREQUENCY_SCALER	3
 
 #define LNL_MERT_FREQ_CAP	800
+#define BMG_MERT_FREQ_CAP	2133
 
 /**
  * DOC: GuC Power Conservation (PC)
@@ -680,7 +681,8 @@ bool xe_guc_pc_needs_wa_22019338487(struct xe_guc_pc *pc)
 	struct xe_gt *gt = pc_to_gt(pc);
 	struct xe_device *xe = gt_to_xe(gt);
 
-	if (MEDIA_VERx100(xe) == 2000 && xe_gt_is_media_type(gt))
+	if ((MEDIA_VERx100(xe) == 2000 && xe_gt_is_media_type(gt)) ||
+	    (GRAPHICS_VERx100(xe) == 2001 &&  gt->info.type == XE_GT_TYPE_MAIN))
 		return true;
 
 	return false;
@@ -690,6 +692,8 @@ u32 xe_guc_pc_mert_freq_cap(struct xe_guc_pc *pc)
 {
 	if (MEDIA_VERx100(pc_to_xe(pc)) == 2000)
 		return LNL_MERT_FREQ_CAP;
+	else if (GRAPHICS_VERx100(pc_to_xe(pc)) == 2001)
+		return BMG_MERT_FREQ_CAP;
 	else
 		return 0;
 }
-- 
2.38.1



More information about the Intel-xe mailing list