drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late()

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ä <ville.syrjala@linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/73693f137e9601e027ab7e7add2a7b08d5a2f675.1782913901.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
Jani Nikula 2026-07-01 16:53:04 +03:00
parent 3cad64a10e
commit 402e84752c

View File

@ -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);
}