Commit 861f878e authored by Imre Deak's avatar Imre Deak

drm/i915: Move load time PCH detect, DPIO, power domain SW init earlier

These are all SW only init steps not accessing the device and they only
need the platform identification macros to work, which are already
available earlier, so move these init steps earlier.
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1458128348-15730-3-git-send-email-imre.deak@intel.com
parent 066de1aa
...@@ -1020,7 +1020,12 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) ...@@ -1020,7 +1020,12 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
if (ret < 0) if (ret < 0)
goto out_free_priv; goto out_free_priv;
/* This must be called before any calls to HAS_PCH_* */
intel_detect_pch(dev);
intel_pm_setup(dev); intel_pm_setup(dev);
intel_init_dpio(dev_priv);
intel_power_domains_init(dev_priv);
intel_runtime_pm_get(dev_priv); intel_runtime_pm_get(dev_priv);
...@@ -1045,9 +1050,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) ...@@ -1045,9 +1050,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
if (ret < 0) if (ret < 0)
goto put_bridge; goto put_bridge;
/* This must be called before any calls to HAS_PCH_* */
intel_detect_pch(dev);
intel_uncore_init(dev); intel_uncore_init(dev);
ret = i915_gem_gtt_init(dev); ret = i915_gem_gtt_init(dev);
...@@ -1124,16 +1126,12 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) ...@@ -1124,16 +1126,12 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
intel_device_info_runtime_init(dev); intel_device_info_runtime_init(dev);
intel_init_dpio(dev_priv);
if (INTEL_INFO(dev)->num_pipes) { if (INTEL_INFO(dev)->num_pipes) {
ret = drm_vblank_init(dev, INTEL_INFO(dev)->num_pipes); ret = drm_vblank_init(dev, INTEL_INFO(dev)->num_pipes);
if (ret) if (ret)
goto out_gem_unload; goto out_gem_unload;
} }
intel_power_domains_init(dev_priv);
ret = i915_load_modeset_init(dev); ret = i915_load_modeset_init(dev);
if (ret < 0) { if (ret < 0) {
DRM_ERROR("failed to init modeset\n"); DRM_ERROR("failed to init modeset\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment