]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Make display part of Wa_22019338487 a device workaround
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 13 Oct 2025 20:09:56 +0000 (13:09 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Tue, 14 Oct 2025 14:45:16 +0000 (07:45 -0700)
The display part of Wa_22019338487 (i.e., avoiding use of stolen memory)
is using a platform test rather than an graphics/media IP test.  Since
this workaround is focused on non-GT uses of stolen memory, it makes
sense that we'd want to still apply the workaround on affected platforms
even if the GTs themselves are disabled via configfs.

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/20251013200944.2499947-38-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/xe/display/intel_fbdev_fb.c
drivers/gpu/drm/xe/display/xe_plane_initial.c
drivers/gpu/drm/xe/xe_device_wa_oob.rules
drivers/gpu/drm/xe/xe_wa_oob.rules

index 8ea9a472113c419a9bf00987f5ab10eec4fb7ff3..af8139d00161dfe880eb0f9e4e431f79e15dcf8a 100644 (file)
@@ -13,7 +13,7 @@
 #include "xe_ttm_stolen_mgr.h"
 #include "xe_wa.h"
 
-#include <generated/xe_wa_oob.h>
+#include <generated/xe_device_wa_oob.h>
 
 struct intel_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
                                               struct drm_fb_helper_surface_size *sizes)
@@ -41,7 +41,7 @@ struct intel_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
        size = PAGE_ALIGN(size);
        obj = ERR_PTR(-ENODEV);
 
-       if (!IS_DGFX(xe) && !XE_GT_WA(xe_root_mmio_gt(xe), 22019338487_display)) {
+       if (!IS_DGFX(xe) && !XE_DEVICE_WA(xe, 22019338487_display)) {
                obj = xe_bo_create_pin_map_novm(xe, xe_device_get_root_tile(xe),
                                                size,
                                                ttm_bo_type_kernel, XE_BO_FLAG_SCANOUT |
index 94f00def811bc138767540065c538b19c7816ed5..12d25c5290fd295b815860b81bb8b106861fa698 100644 (file)
@@ -25,7 +25,7 @@
 #include "xe_vram_types.h"
 #include "xe_wa.h"
 
-#include <generated/xe_wa_oob.h>
+#include <generated/xe_device_wa_oob.h>
 
 void intel_plane_initial_vblank_wait(struct intel_crtc *crtc)
 {
@@ -123,7 +123,7 @@ initial_plane_bo(struct xe_device *xe,
                phys_base = base;
                flags |= XE_BO_FLAG_STOLEN;
 
-               if (XE_GT_WA(xe_root_mmio_gt(xe), 22019338487_display))
+               if (XE_DEVICE_WA(xe, 22019338487_display))
                        return NULL;
 
                /*
index 3a0c4ccc42249a491a31ec97f17052a47cf542e1..3cc93f0e77f8cbfc89e2a85340a74b700ed1d94a 100644 (file)
@@ -1,2 +1,3 @@
 15015404425     PLATFORM(LUNARLAKE)
                PLATFORM(PANTHERLAKE)
+22019338487_display    PLATFORM(LUNARLAKE)
index f3a6d5d239cecb6d644392a61d524a30ed4f6ccd..eb761d30e066a5b1dc9caf21cda46719ec074197 100644 (file)
@@ -45,7 +45,6 @@
 22019338487    MEDIA_VERSION(2000)
                GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_not_sriov_vf)
                MEDIA_VERSION(3000), MEDIA_STEP(A0, B0), FUNC(xe_rtp_match_not_sriov_vf)
-22019338487_display    PLATFORM(LUNARLAKE)
 16023588340    GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_not_sriov_vf)
 14019789679    GRAPHICS_VERSION(1255)
                GRAPHICS_VERSION_RANGE(1270, 2004)