drm/i915/ttm Initialize the ttm device and memory managers
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / i915_drv.c
index 92bccc5..122dd29 100644 (file)
@@ -84,6 +84,7 @@
 #include "intel_gvt.h"
 #include "intel_memory_region.h"
 #include "intel_pm.h"
+#include "intel_region_ttm.h"
 #include "intel_sideband.h"
 #include "vlv_suspend.h"
 
@@ -335,6 +336,10 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
        if (ret < 0)
                goto err_workqueues;
 
+       ret = intel_region_ttm_device_init(dev_priv);
+       if (ret)
+               goto err_ttm;
+
        intel_wopcm_init_early(&dev_priv->wopcm);
 
        intel_gt_init_early(&dev_priv->gt, dev_priv);
@@ -359,6 +364,8 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
 err_gem:
        i915_gem_cleanup_early(dev_priv);
        intel_gt_driver_late_release(&dev_priv->gt);
+       intel_region_ttm_device_fini(dev_priv);
+err_ttm:
        vlv_suspend_cleanup(dev_priv);
 err_workqueues:
        i915_workqueues_cleanup(dev_priv);
@@ -376,6 +383,7 @@ static void i915_driver_late_release(struct drm_i915_private *dev_priv)
        intel_power_domains_cleanup(dev_priv);
        i915_gem_cleanup_early(dev_priv);
        intel_gt_driver_late_release(&dev_priv->gt);
+       intel_region_ttm_device_fini(dev_priv);
        vlv_suspend_cleanup(dev_priv);
        i915_workqueues_cleanup(dev_priv);