]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 26 May 2023 16:43:58 +0000 (09:43 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:34:04 +0000 (18:34 -0500)
Port Wa_14014475959 to xe_wa fixing its condition. The workaround should
only be applied on the primary GT, not on media. So just checking by
MTL platform is not enough: checking GT is of the right type is also
needed.

Since the GRAPHICS_STEP() does checks the GT type, we could leave the
first check as a platform one: it'd would be easier to understand and
not go out of sync with the graphics_ip_map[] in
drivers/gpu/drm/xe/xe_pci.c. However it also means that new platforms
using the same IP wouldn't match. Prefer using the IP version.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230526164358.86393-22-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc.c
drivers/gpu/drm/xe/xe_wa_oob.rules

index 3ed460d3b6ca887e160cd4d18a3078edb9471ff8..ecc843d91f6245ce4be4ee061eb13a49fbcf3f42 100644 (file)
@@ -142,9 +142,7 @@ static u32 guc_ctl_wa_flags(struct xe_guc *guc)
        if (XE_WA(gt, 16011759253))
                flags |= GUC_WA_GAM_CREDITS;
 
-       /* Wa_14014475959 */
-       if (IS_PLATFORM_STEP(xe, XE_METEORLAKE, STEP_A0, STEP_B0) ||
-           xe->info.platform == XE_DG2)
+       if (XE_WA(gt, 14014475959))
                flags |= GUC_WA_HOLD_CCS_SWITCHOUT;
 
        if (XE_WA(gt, 22011391025) || XE_WA(gt, 14012197797))
index f6c4a0e055e01d503a403795bc0df12e9e42b0e2..1ecb10390b280f7b477685a9e5b799848be4b7f9 100644 (file)
@@ -1,5 +1,7 @@
 22012773006    GRAPHICS_VERSION_RANGE(1200, 1250)
 16011759253    SUBPLATFORM(DG2, G10), GRAPHICS_STEP(A0, B0)
+14014475959    GRAPHICS_VERSION_RANGE(1270, 1271), GRAPHICS_STEP(A0, B0)
+               PLATFORM(DG2)
 22011391025    PLATFORM(DG2)
 14012197797    PLATFORM(DG2), GRAPHICS_STEP(A0, B0)
 16011777198    SUBPLATFORM(DG2, G10), GRAPHICS_STEP(A0, C0)