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

Reply via email to