@@ -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);
@@ -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);
}
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.souza@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(-)