]> 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)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 5 Feb 2026 13:03:58 +0000 (08:03 -0500)
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: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_pm.c

index 559cf5490ac0059f6861655557c5e8e8fef4f3de..01185f10a8835788ce6f6181c80718e9744d526b 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>
@@ -366,9 +367,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;
 }