]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/pm: Disable D3Cold for BMG only on specific platforms
authorKarthik Poosa <karthik.poosa@intel.com>
Fri, 23 Jan 2026 17:32:38 +0000 (23:02 +0530)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Wed, 4 Feb 2026 15:41:07 +0000 (16:41 +0100)
Restrict D3Cold disablement for BMG to unsupported NUC platforms,
instead of disabling it on all platforms.

Signed-off-by: Karthik Poosa <karthik.poosa@intel.com>
Fixes: 3e331a6715ee ("drm/xe/pm: Temporarily disable D3Cold on BMG")
Link: https://patch.msgid.link/20260123173238.1642383-1-karthik.poosa@intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit 39125eaf8863ab09d70c4b493f58639b08d5a897)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_pm.c

index 7669225302656ec52dfc049297d4e76e134fc40a..51eb6d005331a0ec68a8568bc2fdf5858e3969a0 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/fault-inject.h>
 #include <linux/pm_runtime.h>
 #include <linux/suspend.h>
+#include <linux/dmi.h>
 
 #include <drm/drm_managed.h>
 #include <drm/ttm/ttm_placement.h>
@@ -357,9 +358,15 @@ ALLOW_ERROR_INJECTION(xe_pm_init_early, ERRNO); /* See xe_pci_probe() */
 
 static u32 vram_threshold_value(struct xe_device *xe)
 {
-       /* FIXME: D3Cold temporarily disabled by default on BMG */
-       if (xe->info.platform == XE_BATTLEMAGE)
-               return 0;
+       if (xe->info.platform == XE_BATTLEMAGE) {
+               const char *product_name;
+
+               product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
+               if (product_name && strstr(product_name, "NUC13RNG")) {
+                       drm_warn(&xe->drm, "BMG + D3Cold not supported on this platform\n");
+                       return 0;
+               }
+       }
 
        return DEFAULT_VRAM_THRESHOLD;
 }