]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Upgrade complaint about missing slice info
authorJohn Harrison <John.C.Harrison@Intel.com>
Sat, 18 Jan 2025 00:54:03 +0000 (16:54 -0800)
committerJohn Harrison <John.C.Harrison@Intel.com>
Mon, 27 Jan 2025 20:25:19 +0000 (12:25 -0800)
The steering code needs to know slice/subslice counts and this
information should be retrieved from the hwconfig table. However,
earlier platforms don't have it, hence the KMD has a fallback path.
Newer platforms really should have the entries and if they are missing
that is a bug that needs to be fixed in the table.

So update the complaint to be an error on newer platforms and remove
it completely for older ones that we know are bad (but are not POR for
the Xe driver anyway). Also, re-word the message a little to make it
clearer what the issue is.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250118005403.2960807-1-John.C.Harrison@Intel.com
drivers/gpu/drm/xe/xe_gt_mcr.c

index a1676b787fdcba7bd2e11f5782a6492deba37225..605aad3554e7713a73f4c523abb0a663aac4d331 100644 (file)
@@ -341,7 +341,13 @@ static unsigned int dss_per_group(struct xe_gt *gt)
        return DIV_ROUND_UP(max_subslices, max_slices);
 
 fallback:
-       xe_gt_dbg(gt, "GuC hwconfig cannot provide dss/slice; using typical fallback values\n");
+       /*
+        * 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 (gt_to_xe(gt)->info.platform == XE_PVC)
                return 8;
        else if (GRAPHICS_VERx100(gt_to_xe(gt)) >= 1250)