Commit 250ad48e authored by Imre Deak's avatar Imre Deak

drm/i915: Move unload time display power domain uninit later

Move the power domain uninitialization later so that it matches its
corresponding init order. Since we access the HW during the later
unitialization steps keep a wake reference until after the last such
step.
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-12-git-send-email-imre.deak@intel.com
parent 3487b66b
...@@ -1212,7 +1212,7 @@ int i915_driver_unload(struct drm_device *dev) ...@@ -1212,7 +1212,7 @@ int i915_driver_unload(struct drm_device *dev)
return ret; return ret;
} }
intel_power_domains_fini(dev_priv); intel_display_power_get(dev_priv, POWER_DOMAIN_INIT);
i915_audio_component_cleanup(dev_priv); i915_audio_component_cleanup(dev_priv);
...@@ -1268,6 +1268,8 @@ int i915_driver_unload(struct drm_device *dev) ...@@ -1268,6 +1268,8 @@ int i915_driver_unload(struct drm_device *dev)
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
intel_fbc_cleanup_cfb(dev_priv); intel_fbc_cleanup_cfb(dev_priv);
intel_power_domains_fini(dev_priv);
pm_qos_remove_request(&dev_priv->pm_qos); pm_qos_remove_request(&dev_priv->pm_qos);
i915_global_gtt_cleanup(dev); i915_global_gtt_cleanup(dev);
...@@ -1276,6 +1278,9 @@ int i915_driver_unload(struct drm_device *dev) ...@@ -1276,6 +1278,9 @@ int i915_driver_unload(struct drm_device *dev)
i915_mmio_cleanup(dev); i915_mmio_cleanup(dev);
pci_dev_put(dev_priv->bridge_dev); pci_dev_put(dev_priv->bridge_dev);
intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
i915_gem_load_cleanup(dev); i915_gem_load_cleanup(dev);
i915_workqueues_cleanup(dev_priv); i915_workqueues_cleanup(dev_priv);
kfree(dev_priv); kfree(dev_priv);
......
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