On runtime suspend (regardless of d3cold), there's no need
to perform the display power sequences before we disable the GT
and IRQ.

In a matter of fact, the i915 runtime suspend needs to
disable power, which asserts that IRQs are disabled.
So, before the runtime_pm sequences can be reconciled, it is needed to
ensure that the Xe's IRQ are disabled before the display.

Signed-off-by: Rodrigo Vivi <[email protected]>
---
 drivers/gpu/drm/xe/xe_pm.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index 4cacf4b33d83..16854215bea6 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -402,8 +402,6 @@ int xe_pm_runtime_suspend(struct xe_device *xe)
                xe_bo_runtime_pm_release_mmap_offset(bo);
        mutex_unlock(&xe->mem_access.vram_userfault.lock);
 
-       xe_display_pm_runtime_suspend(xe);
-
        if (xe->d3cold.allowed) {
                err = xe_bo_evict_all(xe);
                if (err)
@@ -418,6 +416,7 @@ int xe_pm_runtime_suspend(struct xe_device *xe)
 
        xe_irq_suspend(xe);
 
+       xe_display_pm_runtime_suspend(xe);
        xe_display_pm_runtime_suspend_late(xe);
 out:
        if (err)
-- 
2.46.0

Reply via email to