On Mon, Jun 15, 2026 at 03:40:46PM +0300, Jani Nikula wrote: > Add new high-level functions intel_display_driver_runtime_pm_enable() > and intel_display_driver_runtime_pm_disable() to abstract the low-level > functions intel_display_power_enable() and > intel_display_power_disable(), respectively. > > The asymmetry in the "runtime pm enable/disable" and "pm runtime > suspend/etc" naming is intentional, with the latter intended to be > called from the PM hooks. > > Cc: Rodrigo Vivi <[email protected]> > Suggested-by: Ville Syrjala <[email protected]> > Signed-off-by: Jani Nikula <[email protected]>
Reviewed-by: Rodrigo Vivi <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_display_driver.c | 10 ++++++++++ > drivers/gpu/drm/i915/display/intel_display_driver.h | 3 +++ > drivers/gpu/drm/i915/i915_driver.c | 4 ++-- > drivers/gpu/drm/xe/display/xe_display.c | 8 ++++---- > 4 files changed, 19 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c > b/drivers/gpu/drm/i915/display/intel_display_driver.c > index 67f416070fe0..a11186be9756 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c > @@ -869,6 +869,16 @@ void intel_display_driver_pm_resume(struct intel_display > *display) > intel_display_power_enable(display); > } > > +void intel_display_driver_runtime_pm_enable(struct intel_display *display) > +{ > + intel_display_power_enable(display); > +} > + > +void intel_display_driver_runtime_pm_disable(struct intel_display *display) > +{ > + intel_display_power_disable(display); > +} > + > void intel_display_driver_pm_runtime_suspend(struct intel_display *display) > { > intel_display_power_runtime_suspend(display); > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.h > b/drivers/gpu/drm/i915/display/intel_display_driver.h > index 1b494337d629..1ae2ad7e95f6 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_driver.h > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.h > @@ -43,6 +43,9 @@ void intel_display_driver_suspend_access(struct > intel_display *display); > void intel_display_driver_resume_access(struct intel_display *display); > bool intel_display_driver_check_access(struct intel_display *display); > > +void intel_display_driver_runtime_pm_enable(struct intel_display *display); > +void intel_display_driver_runtime_pm_disable(struct intel_display *display); > + > void intel_display_driver_pm_runtime_suspend(struct intel_display *display); > void intel_display_driver_pm_runtime_suspend_late(struct intel_display > *display); > void intel_display_driver_pm_runtime_resume_early(struct intel_display > *display); > diff --git a/drivers/gpu/drm/i915/i915_driver.c > b/drivers/gpu/drm/i915/i915_driver.c > index 01aaa66e7cab..4d01168d37cf 100644 > --- a/drivers/gpu/drm/i915/i915_driver.c > +++ b/drivers/gpu/drm/i915/i915_driver.c > @@ -659,7 +659,7 @@ static int i915_driver_register(struct drm_i915_private > *dev_priv) > > intel_display_driver_register(display); > > - intel_display_power_enable(display); > + intel_display_driver_runtime_pm_enable(display); > intel_runtime_pm_enable(&dev_priv->runtime_pm); > > if (i915_switcheroo_register(dev_priv)) > @@ -681,7 +681,7 @@ static void i915_driver_unregister(struct > drm_i915_private *dev_priv) > i915_switcheroo_unregister(dev_priv); > > intel_runtime_pm_disable(&dev_priv->runtime_pm); > - intel_display_power_disable(display); > + intel_display_driver_runtime_pm_disable(display); > > intel_display_driver_unregister(display); > > diff --git a/drivers/gpu/drm/xe/display/xe_display.c > b/drivers/gpu/drm/xe/display/xe_display.c > index a5768736dbbc..493e9e09b6c9 100644 > --- a/drivers/gpu/drm/xe/display/xe_display.c > +++ b/drivers/gpu/drm/xe/display/xe_display.c > @@ -176,7 +176,7 @@ void xe_display_register(struct xe_device *xe) > return; > > intel_display_driver_register(display); > - intel_display_power_enable(display); > + intel_display_driver_runtime_pm_enable(display); > } > > void xe_display_unregister(struct xe_device *xe) > @@ -186,7 +186,7 @@ void xe_display_unregister(struct xe_device *xe) > if (!xe->info.probe_display) > return; > > - intel_display_power_disable(display); > + intel_display_driver_runtime_pm_disable(display); > intel_display_driver_unregister(display); > } > > @@ -331,7 +331,7 @@ static void xe_display_enable_d3cold(struct xe_device *xe) > * We do a lot of poking in a lot of registers, make sure they work > * properly. > */ > - intel_display_power_disable(display); > + intel_display_driver_runtime_pm_disable(display); > > intel_display_flush_cleanup_work(display); > > @@ -364,7 +364,7 @@ static void xe_display_disable_d3cold(struct xe_device > *xe) > > intel_opregion_resume(display); > > - intel_display_power_enable(display); > + intel_display_driver_runtime_pm_enable(display); > } > > void xe_display_pm_runtime_suspend(struct xe_device *xe) > -- > 2.47.3 >
