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 <rodrigo.vivi@xxxxxxxxx> --- 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