drm/i915: Move display power initialization during driver probing later
Determining whether the display engine is present on a platform happens only in intel_device_info_runtime_init(). Initializing the display power functionality depends on this condition, so move intel_power_domains_init() later after the runtime init function has been called. The next patch fixing platforms without display, depends on this patch. Acked-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230208114300.3123934-3-imre.deak@intel.com
This commit is contained in:
parent
9542d70840
commit
2bf91341ee
2 changed files with 5 additions and 7 deletions
|
@ -8634,6 +8634,10 @@ int intel_modeset_init_noirq(struct drm_i915_private *i915)
|
|||
goto cleanup_bios;
|
||||
|
||||
/* FIXME: completely on the wrong abstraction layer */
|
||||
ret = intel_power_domains_init(i915);
|
||||
if (ret < 0)
|
||||
goto cleanup_vga;
|
||||
|
||||
intel_power_domains_init_hw(i915, false);
|
||||
|
||||
if (!HAS_DISPLAY(i915))
|
||||
|
@ -8676,6 +8680,7 @@ int intel_modeset_init_noirq(struct drm_i915_private *i915)
|
|||
cleanup_vga_client_pw_domain_dmc:
|
||||
intel_dmc_fini(i915);
|
||||
intel_power_domains_driver_remove(i915);
|
||||
cleanup_vga:
|
||||
intel_vga_unregister(i915);
|
||||
cleanup_bios:
|
||||
intel_bios_driver_remove(i915);
|
||||
|
|
|
@ -251,9 +251,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
|
|||
intel_detect_pch(dev_priv);
|
||||
|
||||
intel_pm_setup(dev_priv);
|
||||
ret = intel_power_domains_init(dev_priv);
|
||||
if (ret < 0)
|
||||
goto err_gem;
|
||||
intel_irq_init(dev_priv);
|
||||
intel_init_display_hooks(dev_priv);
|
||||
intel_init_clock_gating_hooks(dev_priv);
|
||||
|
@ -262,10 +259,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
|
|||
|
||||
return 0;
|
||||
|
||||
err_gem:
|
||||
i915_gem_cleanup_early(dev_priv);
|
||||
intel_gt_driver_late_release_all(dev_priv);
|
||||
i915_drm_clients_fini(&dev_priv->clients);
|
||||
err_rootgt:
|
||||
intel_region_ttm_device_fini(dev_priv);
|
||||
err_ttm:
|
||||
|
|
Loading…
Add table
Reference in a new issue