]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/d3cold: Set power state to D3Cold during s2idle/s3
authorBadal Nilawar <badal.nilawar@intel.com>
Thu, 27 Mar 2025 16:19:14 +0000 (21:49 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Fri, 28 Mar 2025 16:01:50 +0000 (12:01 -0400)
According to pci core guidelines, pci_save_config is recommended when the
driver explicitly needs to set the pci power state. As of now xe kmd is
only doing pci_save_config while entering to s2idle/s3 state, which makes
pci core think that device driver has already applied required pci power
state. This leads to GPU remain in D0 state. To fix the issue setting
the pci power state to D3Cold.

Fixes:dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")

Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://lore.kernel.org/r/20250327161914.432552-1-badal.nilawar@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_pci.c

index 88138a3fcf5061a7941b0126db543740f7cf55e1..58347fa9184157a921909fe0c677fec7af4f025f 100644 (file)
@@ -924,6 +924,7 @@ static int xe_pci_suspend(struct device *dev)
 
        pci_save_state(pdev);
        pci_disable_device(pdev);
+       pci_set_power_state(pdev, PCI_D3cold);
 
        return 0;
 }