Reconcile i915's and xe's display power management sequences. The main goal of this series is to ensure that the display power management sequences from both drivers are fully aligned. So, it needs to live under i915/display/ and xe_display_pm can only be a wrapper to check for the xe's module parameter before jumping in the i915/display functions. During this process, it was clear that the Xe's runtime pm sequences for integrated gfx (non d3cold capable) was totally misaligned with i915 and prune to more bugs. So, this series ends up fixing this and bringing a full alignment there as well. The one new thing under i915 is the d3cold sequences. Apparently that can be reduced, but for now this is what is validated and stable on both DG2 and BMG. So, let's move that to the i915/display side as well and continue on the improvements with the code in the right place. When I started this work I was hoping that I could run more conversions to intel_display struct before moving things from i915_driver.c to intel_display_driver, however that was a deeper task and this series is already deep enough. Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Rodrigo Vivi (31): drm/i915: Remove vga and gmbus seq out of i915_restore_display drm/i915/display: Convert i915_suspend into i9xx_display_sr drm/i915/display: Move regfile registers intel_display.restore drm/i915/display: Move shutdown sequences under display driver drm/xe: At shutdown disable commit helpers instead of flushing drm/xe: Use i915-display shutdown sequence directly drm/{i915,xe}/display: Move DP MST calls to display_driver drm/i915/display: Move suspend sequences to intel_display_driver drm/xe/display: Delay hpd_init resume drm/xe/display: Spin-off xe_display runtime/d3cold sequences drm/{i915,xe}: Consolidate display resume functions drm/i915: Remove lingering pci_save_state drm/{i915,xe}: Consolidate display suspend functions drm/i915/display: Move resume sequences to intel_display_driver drm/xe/display: Delay dsm handler registration drm/{i915,xe}: Move power_domains suspend/resume to display_power drm/{i915,xe}: Move remaining intel_power_domains to intel_display drm/i915/display: Split resume_noirq calls for now drm/xe/display: Align display resume sequence with i915 drm/xe/display: Align suspend sequence with i915 drm/{i915,xe}/display: Move dsm registration under intel_driver drm/i915/display: Move runtime pm related calls under intel_display_driver drm/xe/display: Prepare runtime pm functions drm/xe/display: Call intel_hpd_init on every runtime resume drm/xe/display: Move hpd_poll calls to later runtime stages drm/xe/display: Add missing watermark ipc update at runtime resume drm/xe/display: Notify opregion upon runtime suspend/resume non-d3cold drm/xe/display: Move display runtime suspend to a later point drm/xe/display: Kill crtc commit flush drm/xe/display: Add missing power display handling on non-d3cold rpm drm/{i915,xe}/display: Consolidade entire runtime pm sequence drivers/gpu/drm/i915/Makefile | 2 +- .../gpu/drm/i915/display/i9xx_display_sr.c | 99 +++++++ .../gpu/drm/i915/display/i9xx_display_sr.h | 14 + .../gpu/drm/i915/display/intel_display_core.h | 5 + .../drm/i915/display/intel_display_driver.c | 247 ++++++++++++++++++ .../drm/i915/display/intel_display_driver.h | 18 ++ .../drm/i915/display/intel_display_power.c | 6 +- .../drm/i915/display/intel_display_power.h | 2 +- drivers/gpu/drm/i915/i915_driver.c | 161 ++---------- drivers/gpu/drm/i915/i915_drv.h | 9 - drivers/gpu/drm/i915/i915_suspend.c | 141 ---------- drivers/gpu/drm/i915/i915_suspend.h | 14 - drivers/gpu/drm/xe/display/xe_display.c | 185 ++++--------- drivers/gpu/drm/xe/display/xe_display.h | 11 +- drivers/gpu/drm/xe/display/xe_fb_pin.c | 8 + drivers/gpu/drm/xe/xe_device.c | 4 +- drivers/gpu/drm/xe/xe_pm.c | 16 +- 17 files changed, 498 insertions(+), 444 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/i9xx_display_sr.c create mode 100644 drivers/gpu/drm/i915/display/i9xx_display_sr.h delete mode 100644 drivers/gpu/drm/i915/i915_suspend.c delete mode 100644 drivers/gpu/drm/i915/i915_suspend.h -- 2.46.0