Start unifying the i915 and xe display suspend/resume/shutdown and runtime pm hooks. This completely superseeds the series [1] which was opposed by Ville. I presume this is the path of least resistance.
Patches 1-3 are functional fixes from Imre and me. They'll also help the refactoring. Patches 4-18 are mostly non-functional refactoring, deduplication, unification, and cleanups. There are minor functional changes that shouldn't have any impact. The changes are intentionally chopped up small for ease of review and to pinpoint any regressions immediately. Patches 19-21 are also intended to be non-functioal refactoring. However, there are bigger changes in the sequences, and might be more suspect. Patches 22-24 refactor runtime pm, which should be non-functional changes for i915, but will be functional changes for xe. I'm sending the entire thing for review, but I think I'll want to send smaller batches for CI before merging. BR, Jani. [1] https://lore.kernel.org/r/[email protected] Imre Deak (2): drm/i915: Keep display IRQs enabled for encoder suspend/shutdown drm/i915/xe: Enable HPD polling later during system resume Jani Nikula (22): drm/i915: add flush_workqueue(display->wq.cleanup) on shutdown drm/xe/display: remove intel_display_flush_cleanup_work() calls on suspend/shutdown drm/xe/display: drop duplicate intel_dp_mst_suspend() call drm/i915/display: add "pm" to intel_display_driver_{suspend,resume}() names drm/xe/display: rename xe_display_pm_shutdown*() to xe_display_shutdown*() drm/xe/display: relocate the xe_display_shutdown*() functions drm/xe/display: relocate the xe_display_pm_runtime_*() functions drm/{i915,xe}: move more calls inside intel_display_driver_pm_suspend() drm/{i915,xe}: move more calls inside intel_display_driver_pm_resume() drm/{i915,xe}: add intel_display_driver_pm_{suspend_late,resume_early}() drm/{i915,xe}: move more calls inside intel_display_driver_{register,unregister}() drm/{i915,xe}: add intel_display_driver_shutdown_late() drm/i915: add intel_display_driver_shutdown() drm/i915/display: deduplicate suspend and shutdown a bit drm/xe/display: use intel_display_driver_pm_shutdown() drm/{i915,xe}: move more stuff to __intel_display_driver_pm_suspend() drm/{i915,xe}: make intel_dmc_suspend() part of display suspend/shutdown calls drm/{i915,xe}: move intel_opregion_suspend() to intel_display_driver_pm_suspend_late() drm/{i915,xe}: keep moving stuff to intel_display_driver_pm_resume() drm/i915: add intel_display_driver_pm_runtime*() functions drm/xe/display: separate d3cold handling from xe_display_pm_runtime_suspend_late() drm/xe/display: unify runtime suspend/resume with i915 for non-d3cold .../drm/i915/display/intel_display_driver.c | 182 ++++++++++++++- .../drm/i915/display/intel_display_driver.h | 14 +- drivers/gpu/drm/i915/i915_driver.c | 138 ++---------- drivers/gpu/drm/xe/display/xe_display.c | 209 ++++++------------ drivers/gpu/drm/xe/display/xe_display.h | 10 +- drivers/gpu/drm/xe/xe_device.c | 4 +- 6 files changed, 269 insertions(+), 288 deletions(-) -- 2.47.3
