aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorRaag Jadav <raag.jadav@intel.com>2025-10-30 17:53:56 +0530
committerAshutosh Dixit <ashutosh.dixit@intel.com>2025-11-27 09:05:24 -0800
commite6d2fe31a76d4960b0005e8fcb5eb66d00ed2e14 (patch)
treeb0428c8feb99e8be677df0dce23b78b4c5514f58 /drivers/gpu
parent726ceb5716da7657a65e01270c494ecd4cb0b242 (diff)
drm/xe/pm: Assert on runtime suspend if VFs are enabled
We hold an additional reference to the runtime PM to keep PF in D0 during VFs lifetime, as our VFs do not implement the PM capability. This means we should never be runtime suspending as long as VFs are enabled. v8: Add !IS_SRIOV_VF() assert (Matthew Brost) Suggested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Raag Jadav <raag.jadav@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Link: https://patch.msgid.link/20251030122357.128825-4-raag.jadav@intel.com
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/xe/xe_pci.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 94abefa3d9ca..763f588521d0 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -1160,6 +1160,15 @@ static int xe_pci_runtime_suspend(struct device *dev)
struct xe_device *xe = pdev_to_xe_device(pdev);
int err;
+ /*
+ * We hold an additional reference to the runtime PM to keep PF in D0
+ * during VFs lifetime, as our VFs do not implement the PM capability.
+ * This means we should never be runtime suspending as long as VFs are
+ * enabled.
+ */
+ xe_assert(xe, !IS_SRIOV_VF(xe));
+ xe_assert(xe, !pci_num_vf(pdev));
+
err = xe_pm_runtime_suspend(xe);
if (err)
return err;