Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -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)
	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)
	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);