drm/i915/ttm Initialize the ttm device and memory managers
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / gt / intel_region_lmem.c
index 73fceb0..f7366b0 100644 (file)
@@ -5,6 +5,8 @@
 
 #include "i915_drv.h"
 #include "intel_memory_region.h"
+#include "intel_region_lmem.h"
+#include "intel_region_ttm.h"
 #include "gem/i915_gem_lmem.h"
 #include "gem/i915_gem_region.h"
 #include "intel_region_lmem.h"
@@ -66,9 +68,9 @@ static void release_fake_lmem_bar(struct intel_memory_region *mem)
 static void
 region_lmem_release(struct intel_memory_region *mem)
 {
-       release_fake_lmem_bar(mem);
+       intel_region_ttm_fini(mem);
        io_mapping_fini(&mem->iomap);
-       intel_memory_region_release_buddy(mem);
+       release_fake_lmem_bar(mem);
 }
 
 static int
@@ -83,12 +85,21 @@ region_lmem_init(struct intel_memory_region *mem)
 
        if (!io_mapping_init_wc(&mem->iomap,
                                mem->io_start,
-                               resource_size(&mem->region)))
-               return -EIO;
+                               resource_size(&mem->region))) {
+               ret = -EIO;
+               goto out_no_io;
+       }
 
-       ret = intel_memory_region_init_buddy(mem);
+       ret = intel_region_ttm_init(mem);
        if (ret)
-               io_mapping_fini(&mem->iomap);
+               goto out_no_buddy;
+
+       return 0;
+
+out_no_buddy:
+       io_mapping_fini(&mem->iomap);
+out_no_io:
+       release_fake_lmem_bar(mem);
 
        return ret;
 }
@@ -127,6 +138,8 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
                                         mappable_end,
                                         PAGE_SIZE,
                                         io_start,
+                                        INTEL_MEMORY_LOCAL,
+                                        0,
                                         &intel_region_lmem_ops);
        if (!IS_ERR(mem)) {
                drm_info(&i915->drm, "Intel graphics fake LMEM: %pR\n",
@@ -198,6 +211,8 @@ static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
                                         lmem_size,
                                         I915_GTT_PAGE_SIZE_4K,
                                         io_start,
+                                        INTEL_MEMORY_LOCAL,
+                                        0,
                                         &intel_region_lmem_ops);
        if (IS_ERR(mem))
                return mem;