When loading the driver
i915_load_modeset_init()->intel_modeset_setup_hw_state() do the
counter part call of intel_power_domains_init_hw() calling
intel_display_set_init_power(false).
The problem is i915_load_modeset_init() is not executed when display
is disabled, so moving it to i915_driver_load().
Also calling intel_display_set_init_power(false) in
__intel_display_resume() as it would be executed by calling
intel_modeset_setup_hw_state().

Signed-off-by: José Roberto de Souza <jose.so...@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c      | 4 ++++
 drivers/gpu/drm/i915/intel_display.c | 8 +++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 1f784d71f274..9e2de6d1de3d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1407,6 +1407,10 @@ int i915_driver_load(struct pci_dev *pdev, const struct 
pci_device_id *ent)
        if (ret < 0)
                goto cleanup_gem;
 
+       /* intel_power_domains_init_hw() counter part  */
+       intel_display_set_init_power(dev_priv, false);
+       intel_power_domains_verify_state(dev_priv);
+
        i915_driver_register(dev_priv);
 
        intel_runtime_pm_enable(dev_priv);
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 76d0d2bb3baa..5f0426d6d360 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3664,11 +3664,16 @@ __intel_display_resume(struct drm_device *dev,
                       struct drm_atomic_state *state,
                       struct drm_modeset_acquire_ctx *ctx)
 {
+       struct drm_i915_private *dev_priv = to_i915(dev);
        struct drm_crtc_state *crtc_state;
        struct drm_crtc *crtc;
        int i, ret;
 
        intel_modeset_setup_hw_state(dev, ctx);
+
+       intel_display_set_init_power(dev_priv, false);
+       intel_power_domains_verify_state(dev_priv);
+
        i915_redisable_vga(to_i915(dev));
 
        if (!state)
@@ -15888,9 +15893,6 @@ intel_modeset_setup_hw_state(struct drm_device *dev,
                if (WARN_ON(put_domains))
                        modeset_put_power_domains(dev_priv, put_domains);
        }
-       intel_display_set_init_power(dev_priv, false);
-
-       intel_power_domains_verify_state(dev_priv);
 
        intel_fbc_init_pipe_state(dev_priv);
 }
-- 
2.18.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to