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.

Suggested-by: Ville Syrjala <[email protected]>
Reviewed-by: Rodrigo Vivi <[email protected]>
Signed-off-by: Jani Nikula <[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 5f6619b7584a..70d112fd4287 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -888,6 +888,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);
+}
+
 /* before irq suspend */
 void intel_display_driver_pm_runtime_suspend(struct intel_display *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 259b39e31547..ce6d20958320 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -638,7 +638,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))
@@ -660,7 +660,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 92a4573db28a..e0376409d71c 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -158,7 +158,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)
@@ -168,7 +168,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);
 }
 
@@ -313,7 +313,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);
 
@@ -346,7 +346,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

Reply via email to