[PATCH] drm/xe/pm: Also avoid missing outer rpm warning on system suspend
Rodrigo Vivi
rodrigo.vivi at intel.com
Tue Dec 17 23:05:47 UTC 2024
We have some cases where display is releasing power domains at
release_async_put_domains() where intel_runtime_pm_get_noresume()
is called, but no outer protection. In Xe this will trigger our
traditional warning. However, this case should be safe because
it is triggered from the system suspend path, where we certainly
won't be transitioning to rpm suspend.
This wouldn't happen if the display pm sequences, including
all irq flow was in sync between i915 and xe. So, while we
don't get there, let's not raise warnings when we are in this
system suspend path.
Suggested-by: Imre Deak <imre.deak at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
---
drivers/gpu/drm/xe/xe_pm.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index a6761cb769b2..c6e57af0144c 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -7,6 +7,7 @@
#include <linux/fault-inject.h>
#include <linux/pm_runtime.h>
+#include <linux/suspend.h>
#include <drm/drm_managed.h>
#include <drm/ttm/ttm_placement.h>
@@ -607,7 +608,8 @@ static bool xe_pm_suspending_or_resuming(struct xe_device *xe)
struct device *dev = xe->drm.dev;
return dev->power.runtime_status == RPM_SUSPENDING ||
- dev->power.runtime_status == RPM_RESUMING;
+ dev->power.runtime_status == RPM_RESUMING ||
+ pm_suspend_target_state != PM_SUSPEND_ON;
#else
return false;
#endif
--
2.47.1
More information about the Intel-xe
mailing list