On Fri, May 29, 2026 at 02:04:02PM +0300, Jani Nikula wrote: > The calls leading up to __intel_display_driver_pm_suspend() are > surrounded by near identical display calls. Move the calls inside > __intel_display_driver_pm_suspend() to clean up and deduplicate. > > There's a slight functional change in that > intel_display_driver_pm_suspend() returns early for > !HAS_DISPLAY(). Assume this is what we want, and there are no cases > where display engine is present but all pipes have been fused off. > > Signed-off-by: Jani Nikula <[email protected]>
Reviewed-by: Ville Syrjälä <[email protected]> > --- > .../gpu/drm/i915/display/intel_display_driver.c | 15 ++++++++------- > drivers/gpu/drm/i915/i915_driver.c | 10 ---------- > drivers/gpu/drm/xe/display/xe_display.c | 10 ---------- > 3 files changed, 8 insertions(+), 27 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c > b/drivers/gpu/drm/i915/display/intel_display_driver.c > index 0dd0b15641eb..bc632ac8c9b4 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c > @@ -690,13 +690,6 @@ void intel_display_driver_shutdown(struct intel_display > *display) > > __intel_display_driver_pm_suspend(display, true); > > - intel_encoder_block_all_hpds(display); > - > - intel_hpd_cancel_work(display); > - > - intel_display_driver_suspend_access(display); > - > - intel_encoder_suspend_all(display); > intel_encoder_shutdown_all(display); > } > > @@ -754,6 +747,14 @@ static int __intel_display_driver_pm_suspend(struct > intel_display *display, bool > > intel_dp_mst_suspend(display); > > + intel_encoder_block_all_hpds(display); > + > + intel_hpd_cancel_work(display); > + > + intel_display_driver_suspend_access(display); > + > + intel_encoder_suspend_all(display); > + > return ret; > } > > diff --git a/drivers/gpu/drm/i915/i915_driver.c > b/drivers/gpu/drm/i915/i915_driver.c > index 80313ee07b07..209ac512455d 100644 > --- a/drivers/gpu/drm/i915/i915_driver.c > +++ b/drivers/gpu/drm/i915/i915_driver.c > @@ -61,7 +61,6 @@ > #include "display/intel_dp.h" > #include "display/intel_dpt.h" > #include "display/intel_dram.h" > -#include "display/intel_encoder.h" > #include "display/intel_fbdev.h" > #include "display/intel_gmbus.h" > #include "display/intel_hotplug.h" > @@ -1105,15 +1104,6 @@ static int i915_drm_suspend(struct drm_device *dev) > > intel_display_driver_pm_suspend(display); > > - intel_encoder_block_all_hpds(display); > - > - intel_hpd_cancel_work(display); > - > - if (intel_display_device_present(display)) > - intel_display_driver_suspend_access(display); > - > - intel_encoder_suspend_all(display); > - > intel_irq_suspend(dev_priv); > > /* Must be called before GGTT is suspended. */ > diff --git a/drivers/gpu/drm/xe/display/xe_display.c > b/drivers/gpu/drm/xe/display/xe_display.c > index 99bcaa49d11a..561ec1ed6845 100644 > --- a/drivers/gpu/drm/xe/display/xe_display.c > +++ b/drivers/gpu/drm/xe/display/xe_display.c > @@ -30,7 +30,6 @@ > #include "intel_dmc_wl.h" > #include "intel_dp.h" > #include "intel_dram.h" > -#include "intel_encoder.h" > #include "intel_fbdev.h" > #include "intel_hdcp.h" > #include "intel_hotplug.h" > @@ -276,15 +275,6 @@ void xe_display_pm_suspend(struct xe_device *xe) > > intel_display_driver_pm_suspend(display); > > - intel_encoder_block_all_hpds(display); > - > - intel_hpd_cancel_work(display); > - > - if (intel_display_device_present(display)) { > - intel_display_driver_suspend_access(display); > - intel_encoder_suspend_all(display); > - } > - > intel_opregion_suspend(display, s2idle ? PCI_D1 : PCI_D3cold); > > intel_dmc_suspend(display); > -- > 2.47.3 -- Ville Syrjälä Intel
