From 402e84752c27e693b3ac40a438b2411c89a94454 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Wed, 1 Jul 2026 16:53:04 +0300 Subject: [PATCH] drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the special d3cold paths completely separate from the rest of the runtime pm calls. The intel_dmc_wl_flush_release_work() call right after xe_display_pm_suspend_late() might be completely redundant, but this avoids any functional changes. Wiggle the comment while at it. It gets duplicated for now, but this will be addressed in the follow-up. v2: Update comments Acked-by: Ville Syrjälä Reviewed-by: Rodrigo Vivi Reviewed-by: Ville Syrjälä Link: https://patch.msgid.link/73693f137e9601e027ab7e7add2a7b08d5a2f675.1782913901.git.jani.nikula@intel.com Signed-off-by: Jani Nikula --- drivers/gpu/drm/xe/display/xe_display.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c index e0376409d71c..01b6501a204a 100644 --- a/drivers/gpu/drm/xe/display/xe_display.c +++ b/drivers/gpu/drm/xe/display/xe_display.c @@ -371,14 +371,14 @@ void xe_display_pm_runtime_suspend_late(struct xe_device *xe) if (!xe->info.probe_display) return; - if (xe->d3cold.allowed) + if (xe->d3cold.allowed) { xe_display_pm_suspend_late(xe); + /* Ensure the wakelock release work gets flushed */ + intel_dmc_wl_flush_release_work(display); + return; + } - /* - * If xe_display_pm_suspend_late() is not called, it is likely - * that we will be on dynamic DC states with DMC wakelock enabled. We - * need to flush the release work in that case. - */ + /* Ensure the wakelock release work gets flushed */ intel_dmc_wl_flush_release_work(display); }