vigs: change trivial ttm related structures and functions 39/67039/6
authorSeokYeon Hwang <syeon.hwang@samsung.com>
Sun, 24 Apr 2016 08:53:54 +0000 (17:53 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 3 May 2016 08:37:51 +0000 (01:37 -0700)
Change-Id: I646817c1646e42396d8c0dc707a9b09125b178bb
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
drivers/gpu/drm/vigs/vigs_driver.c
drivers/gpu/drm/vigs/vigs_execbuffer.c
drivers/gpu/drm/vigs/vigs_gem.c
drivers/gpu/drm/vigs/vigs_mman.c
drivers/gpu/drm/vigs/vigs_mman.h

index 51217a3..88a5997 100644 (file)
@@ -148,8 +148,6 @@ static int vigs_drm_open(struct drm_device *dev, struct drm_file *file_priv)
 
     file_priv->driver_priv = vigs_file;
 
-    vigs_dev->mman->bo_dev.dev_mapping = dev->dev_mapping;
-
     return 0;
 }
 
index d609448..6795aa1 100644 (file)
@@ -511,7 +511,7 @@ int vigs_execbuffer_exec_ioctl(struct drm_device *drm_dev,
     if (list_empty(&list)) {
         vigs_comm_exec(vigs_dev->comm, execbuffer);
     } else {
-        ret = ttm_eu_reserve_buffers(&ticket, &list);
+        ret = ttm_eu_reserve_buffers(&ticket, &list, true, NULL);
 
         if (ret != 0) {
             goto out3;
@@ -530,7 +530,7 @@ int vigs_execbuffer_exec_ioctl(struct drm_device *drm_dev,
 
         vigs_comm_exec(vigs_dev->comm, execbuffer);
 
-        ttm_eu_fence_buffer_objects(&ticket, &list, fence);
+        ttm_eu_fence_buffer_objects(&ticket, &list, (void *)fence);
 
         if (sync) {
             vigs_fence_wait(fence, false);
index 1dfc1dd..e456f72 100644 (file)
@@ -25,30 +25,31 @@ int vigs_gem_init(struct vigs_gem_object *vigs_gem,
                   bool kernel,
                   vigs_gem_destroy_func destroy)
 {
-    u32 placements[1];
+    struct ttm_place placements[1];
     struct ttm_placement placement;
     enum ttm_bo_type bo_type;
     int ret = 0;
 
     size = roundup(size, PAGE_SIZE);
-
     if (size == 0) {
         kfree(vigs_gem);
         return -EINVAL;
     }
 
+    memset(placements, 0, sizeof(*placements));
+    memset(&placement, 0, sizeof(placement));
+
     if (type == VIGS_GEM_TYPE_SURFACE) {
-        placements[0] =
+        placements[0].flags =
             TTM_PL_FLAG_CACHED | TTM_PL_FLAG_TT | TTM_PL_FLAG_NO_EVICT;
     } else if (type == VIGS_GEM_TYPE_EXECBUFFER) {
-        placements[0] =
+        placements[0].flags =
             TTM_PL_FLAG_WC | TTM_PL_FLAG_PRIV0 | TTM_PL_FLAG_NO_EVICT;
     } else {
         kfree(vigs_gem);
         return -EINVAL;
     }
 
-    memset(&placement, 0, sizeof(placement));
 
     placement.placement = placements;
     placement.busy_placement = placements;
@@ -61,10 +62,6 @@ int vigs_gem_init(struct vigs_gem_object *vigs_gem,
         bo_type = ttm_bo_type_device;
     }
 
-    if (unlikely(vigs_dev->mman->bo_dev.dev_mapping == NULL)) {
-        vigs_dev->mman->bo_dev.dev_mapping = vigs_dev->drm_dev->dev_mapping;
-    }
-
     ret = drm_gem_object_init(vigs_dev->drm_dev, &vigs_gem->base, size);
 
     if (ret != 0) {
@@ -74,7 +71,7 @@ int vigs_gem_init(struct vigs_gem_object *vigs_gem,
 
     ret = ttm_bo_init(&vigs_dev->mman->bo_dev, &vigs_gem->bo, size, bo_type,
                       &placement, 0,
-                      false, NULL, 0, NULL,
+                      false, NULL, 0, NULL, NULL,
                       &vigs_gem_bo_destroy);
 
     if (ret != 0) {
@@ -102,7 +99,7 @@ void vigs_gem_cleanup(struct vigs_gem_object *vigs_gem)
 
 int vigs_gem_pin(struct vigs_gem_object *vigs_gem)
 {
-    u32 placements[1];
+    struct ttm_place placements[1];
     struct ttm_placement placement;
     int ret;
 
@@ -117,11 +114,12 @@ int vigs_gem_pin(struct vigs_gem_object *vigs_gem)
         return 0;
     }
 
-    placements[0] =
-        TTM_PL_FLAG_WC | TTM_PL_FLAG_VRAM | TTM_PL_FLAG_NO_EVICT;
-
+    memset(placements, 0, sizeof(*placements));
     memset(&placement, 0, sizeof(placement));
 
+    placements[0].flags =
+        TTM_PL_FLAG_WC | TTM_PL_FLAG_VRAM | TTM_PL_FLAG_NO_EVICT;
+
     placement.placement = placements;
     placement.busy_placement = placements;
     placement.num_placement = 1;
@@ -149,7 +147,7 @@ int vigs_gem_pin(struct vigs_gem_object *vigs_gem)
 
 void vigs_gem_unpin(struct vigs_gem_object *vigs_gem)
 {
-    u32 placements[2];
+    struct ttm_place placements[2];
     struct ttm_placement placement;
     int ret;
 
@@ -165,12 +163,14 @@ void vigs_gem_unpin(struct vigs_gem_object *vigs_gem)
 
     vigs_gem_kunmap(vigs_gem);
 
-    placements[0] =
+    memset(placements, 0, sizeof(*placements) * 2);
+    memset(&placement, 0, sizeof(placement));
+
+    placements[0].flags =
         TTM_PL_FLAG_WC | TTM_PL_FLAG_VRAM;
-    placements[1] =
+    placements[1].flags =
         TTM_PL_FLAG_CACHED | TTM_PL_FLAG_TT | TTM_PL_FLAG_NO_EVICT;
 
-    memset(&placement, 0, sizeof(placement));
 
     placement.placement = placements;
     placement.busy_placement = placements;
index 4a3f7bc..4f69d15 100644 (file)
@@ -203,15 +203,17 @@ static int vigs_ttm_init_mem_type(struct ttm_bo_device *bo_dev,
     return 0;
 }
 
-static const u32 evict_placements[1] =
+static const struct ttm_place evict_placements[] =
 {
-    TTM_PL_FLAG_CACHED | TTM_PL_FLAG_TT | TTM_PL_FLAG_NO_EVICT
+    {
+        .fpfn = 0,
+        .lpfn = 0,
+        .flags = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_TT | TTM_PL_FLAG_NO_EVICT
+    },
 };
 
 static const struct ttm_placement evict_placement =
 {
-    .fpfn = 0,
-    .lpfn = 0,
     .num_placement = ARRAY_SIZE(evict_placements),
     .placement = evict_placements,
     .num_busy_placement = ARRAY_SIZE(evict_placements),
@@ -300,7 +302,7 @@ static void *vigs_ttm_sync_obj_ref(void *sync_obj)
 
 static int vigs_ttm_fault_reserve_notify(struct ttm_buffer_object *bo)
 {
-    u32 placements[1];
+    struct ttm_place placements[1];
     struct ttm_placement placement;
     int ret;
 
@@ -315,10 +317,11 @@ static int vigs_ttm_fault_reserve_notify(struct ttm_buffer_object *bo)
     /*
      * It's GPU memory page fault. Move this buffer into VRAM.
      */
+    memset(placements, 0, sizeof(*placements));
+    memset(&placement, 0, sizeof(placement));
 
-    placements[0] = TTM_PL_FLAG_WC | TTM_PL_FLAG_VRAM;
+    placements[0].flags = TTM_PL_FLAG_WC | TTM_PL_FLAG_VRAM;
 
-    memset(&placement, 0, sizeof(placement));
 
     placement.placement = placements;
     placement.busy_placement = placements;
@@ -448,7 +451,7 @@ int vigs_mman_create(resource_size_t vram_base,
                      resource_size_t ram_size,
                      uint32_t vma_data_size,
                      struct vigs_mman_ops *ops,
-                     void *user_data,
+                     struct vigs_device *vigs_dev,
                      struct vigs_mman **mman)
 {
     int ret = 0;
@@ -487,11 +490,12 @@ int vigs_mman_create(resource_size_t vram_base,
     (*mman)->vram_base = vram_base;
     (*mman)->ram_base = ram_base;
     (*mman)->ops = ops;
-    (*mman)->user_data = user_data;
+    (*mman)->user_data = vigs_dev;
 
     ret = ttm_bo_device_init(&(*mman)->bo_dev,
                              (*mman)->bo_global_ref.ref.object,
                              &vigs_ttm_bo_driver,
+                             vigs_dev->drm_dev->anon_inode->i_mapping,
                              DRM_FILE_PAGE_OFFSET,
                              0);
     if (ret != 0) {
index 286e99a..d9369e9 100644 (file)
@@ -5,6 +5,8 @@
 #include <linux/slab.h>
 #include <ttm/ttm_bo_driver.h>
 
+#include <vigs_device.h>
+
 struct vigs_mman_ops
 {
     /*
@@ -71,7 +73,7 @@ int vigs_mman_create(resource_size_t vram_base,
                      resource_size_t ram_size,
                      uint32_t vma_data_size,
                      struct vigs_mman_ops *ops,
-                     void *user_data,
+                     struct vigs_device *vigs_dev,
                      struct vigs_mman **mman);
 
 void vigs_mman_destroy(struct vigs_mman *mman);