The calls to intel_display_driver_pm_resume() are preceded with similar
calls. Move the calls inside intel_display_driver_pm_resume().

In i915 the calls are interspersed among other things, so this is a
functional change. Fingers crossed.

There's a slight functional change in that
intel_display_driver_pm_resume() 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]>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 6 ++++++
 drivers/gpu/drm/i915/i915_driver.c                  | 8 --------
 drivers/gpu/drm/xe/display/xe_display.c             | 7 -------
 3 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c 
b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 1525ff7a1dc2..84807a9bff2b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -831,6 +831,12 @@ void intel_display_driver_pm_resume(struct intel_display 
*display)
        if (!HAS_DISPLAY(display))
                return;
 
+       intel_dmc_resume(display);
+
+       drm_mode_config_reset(display->drm);
+
+       intel_display_driver_init_hw(display);
+
        intel_display_driver_resume_access(display);
 
        intel_hpd_init(display);
diff --git a/drivers/gpu/drm/i915/i915_driver.c 
b/drivers/gpu/drm/i915/i915_driver.c
index 7d0f98cbf5d9..6b9e1b268a89 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -57,7 +57,6 @@
 #include "display/intel_display_device.h"
 #include "display/intel_display_driver.h"
 #include "display/intel_display_power.h"
-#include "display/intel_dmc.h"
 #include "display/intel_dp.h"
 #include "display/intel_dpt.h"
 #include "display/intel_dram.h"
@@ -1233,8 +1232,6 @@ static int i915_drm_resume(struct drm_device *dev)
        /* Must be called after GGTT is resumed. */
        intel_dpt_resume(display);
 
-       intel_dmc_resume(display);
-
        i9xx_display_sr_restore(display);
 
        intel_gmbus_reset(display);
@@ -1255,13 +1252,8 @@ static int i915_drm_resume(struct drm_device *dev)
         */
        intel_irq_resume(dev_priv);
 
-       if (intel_display_device_present(display))
-               drm_mode_config_reset(dev);
-
        i915_gem_resume(dev_priv);
 
-       intel_display_driver_init_hw(display);
-
        intel_clock_gating_init(&dev_priv->drm);
 
        intel_display_driver_pm_resume(display);
diff --git a/drivers/gpu/drm/xe/display/xe_display.c 
b/drivers/gpu/drm/xe/display/xe_display.c
index 73891b36341b..b153bf9c83d8 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -301,13 +301,6 @@ void xe_display_pm_resume(struct xe_device *xe)
        if (!xe->info.probe_display)
                return;
 
-       intel_dmc_resume(display);
-
-       if (intel_display_device_present(display))
-               drm_mode_config_reset(&xe->drm);
-
-       intel_display_driver_init_hw(display);
-
        intel_display_driver_pm_resume(display);
 }
 
-- 
2.47.3

Reply via email to