[PATCH] drm/xe/guc: Use drm_info for hwconfig missing message in execlist mode

Stuart Summers stuart.summers at intel.com
Thu Mar 27 20:22:01 UTC 2025


When running in execlist mode we are explicitly not loading
the GuC firmware and the GuC is needed to provide the hwconfig
values. Currently we are printing an error message any time
we see the hwconfig couldn't be obtained for some reason which
is breaking the execlist specific CI.

Keep the error message for normal GuC based load, but when
the module is loaded with force_execlist=1, change this to
an info print.

Signed-off-by: Stuart Summers <stuart.summers at intel.com>
---
 drivers/gpu/drm/xe/xe_gt_mcr.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_mcr.c b/drivers/gpu/drm/xe/xe_gt_mcr.c
index 605aad3554e7..52ee2ead3b17 100644
--- a/drivers/gpu/drm/xe/xe_gt_mcr.c
+++ b/drivers/gpu/drm/xe/xe_gt_mcr.c
@@ -345,8 +345,18 @@ static unsigned int dss_per_group(struct xe_gt *gt)
 	 * Some older platforms don't have tables or don't have complete tables.
 	 * Newer platforms should always have the required info.
 	 */
-	if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000)
-		xe_gt_err(gt, "Slice/Subslice counts missing from hwconfig table; using typical fallback values\n");
+	if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000) {
+		const char *fallback_msg =
+			"GT%u: Slice/Subslice counts missing from hwconfig table; using typical fallback values\n";
+		struct drm_printer ip = xe_gt_info_printer(gt);
+		struct drm_printer ep = xe_gt_err_printer(gt);
+
+		/* In execlist, we don't load GuC, so this is expected. */
+		if (gt_to_xe(gt)->info.force_execlist)
+			drm_printf(&ip, fallback_msg, gt->info.id);
+		else
+			drm_printf(&ep, fallback_msg, gt->info.id);
+	}
 
 	if (gt_to_xe(gt)->info.platform == XE_PVC)
 		return 8;
-- 
2.34.1



More information about the Intel-xe mailing list