[PATCH] drm/xe/guc: Use drm_info for hwconfig missing message in execlist mode
Lucas De Marchi
lucas.demarchi at intel.com
Fri Mar 28 06:09:46 UTC 2025
On Thu, Mar 27, 2025 at 08:22:01PM +0000, Stuart Summers wrote:
>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.
but do we actually need the info? it would be simpler to just drop the
message. See below.
>
>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.
- * Newer platforms should always have the required info.
+ * Newer platforms should always have the required info
+ * when using GuC.
> */
>- 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) {
- if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000
+ if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 2000 &&
+ !gt_to_xe(gt)->info.force_execlist)
/me surprised the driver is not exploding in execlist.
Lucas De Marchi
>+ 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