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: Imre Deak <imre.deak@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1458128348-15730-12-git-send-email-imre.deak@intel.com
This commit is contained in:
Imre Deak 2016-03-16 13:39:00 +02:00
parent 3487b66ba1
commit 250ad48e2e

View File

@ -1212,7 +1212,7 @@ int i915_driver_unload(struct drm_device *dev)
return ret;
}
intel_power_domains_fini(dev_priv);
intel_display_power_get(dev_priv, POWER_DOMAIN_INIT);
i915_audio_component_cleanup(dev_priv);
@ -1268,6 +1268,8 @@ int i915_driver_unload(struct drm_device *dev)
mutex_unlock(&dev->struct_mutex);
intel_fbc_cleanup_cfb(dev_priv);
intel_power_domains_fini(dev_priv);
pm_qos_remove_request(&dev_priv->pm_qos);
i915_global_gtt_cleanup(dev);
@ -1276,6 +1278,9 @@ int i915_driver_unload(struct drm_device *dev)
i915_mmio_cleanup(dev);
pci_dev_put(dev_priv->bridge_dev);
intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
i915_gem_load_cleanup(dev);
i915_workqueues_cleanup(dev_priv);
kfree(dev_priv);