|
@@ -824,10 +824,6 @@ static int i915_driver_init_early(struct drm_i915_private *dev_priv,
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
|
- ret = intel_gvt_init(dev_priv);
|
|
|
- if (ret < 0)
|
|
|
- goto err_workqueues;
|
|
|
-
|
|
|
/* This must be called before any calls to HAS_PCH_* */
|
|
|
intel_detect_pch(dev_priv);
|
|
|
|
|
@@ -841,7 +837,7 @@ static int i915_driver_init_early(struct drm_i915_private *dev_priv,
|
|
|
intel_init_audio_hooks(dev_priv);
|
|
|
ret = i915_gem_load_init(dev_priv);
|
|
|
if (ret < 0)
|
|
|
- goto err_gvt;
|
|
|
+ goto err_workqueues;
|
|
|
|
|
|
intel_display_crc_init(dev_priv);
|
|
|
|
|
@@ -853,8 +849,6 @@ static int i915_driver_init_early(struct drm_i915_private *dev_priv,
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
-err_gvt:
|
|
|
- intel_gvt_cleanup(dev_priv);
|
|
|
err_workqueues:
|
|
|
i915_workqueues_cleanup(dev_priv);
|
|
|
return ret;
|
|
@@ -1077,6 +1071,10 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)
|
|
|
DRM_DEBUG_DRIVER("can't enable MSI");
|
|
|
}
|
|
|
|
|
|
+ ret = intel_gvt_init(dev_priv);
|
|
|
+ if (ret)
|
|
|
+ goto out_ggtt;
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
out_ggtt:
|
|
@@ -1290,6 +1288,8 @@ void i915_driver_unload(struct drm_device *dev)
|
|
|
|
|
|
intel_display_power_get(dev_priv, POWER_DOMAIN_INIT);
|
|
|
|
|
|
+ intel_gvt_cleanup(dev_priv);
|
|
|
+
|
|
|
i915_driver_unregister(dev_priv);
|
|
|
|
|
|
drm_vblank_cleanup(dev);
|