drivers/gpu/drm/via/init_ttm.c |  137 -----------------------------------------
 drivers/gpu/drm/via/via_drv.h  |    4 -
 drivers/gpu/drm/via/via_mem.h  |   36 +++++-----
 drivers/gpu/drm/via/via_ttm.c  |  137 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 157 insertions(+), 157 deletions(-)

New commits:
commit ad98a5a420743050d37d886942ceaada39cdf8ed
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Thu Jan 19 22:22:07 2017 -0600

    Version bumped to 3.0.15
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h
index dd7f03f..0ac0c2c 100644
--- a/drivers/gpu/drm/via/via_drv.h
+++ b/drivers/gpu/drm/via/via_drv.h
@@ -27,11 +27,11 @@
 #define DRIVER_AUTHOR       "The OpenChrome Project"
 #define DRIVER_NAME         "via"
 #define DRIVER_DESC         "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE         "20170117"
+#define DRIVER_DATE         "20170118"
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           0
-#define DRIVER_PATCHLEVEL      14
+#define DRIVER_PATCHLEVEL      15
 
 #include <linux/module.h>
 
commit 05e74009d66f1feed2e2e0f7af282110693c94c2
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Thu Jan 19 22:20:33 2017 -0600

    Moved most functions out of init_ttm.c
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/via/init_ttm.c b/drivers/gpu/drm/via/init_ttm.c
index b574765..0fe0565 100644
--- a/drivers/gpu/drm/via/init_ttm.c
+++ b/drivers/gpu/drm/via/init_ttm.c
@@ -24,143 +24,6 @@
 #include "drmP.h"
 #include "via_mem.h"
 
-static void
-ttm_buffer_object_destroy(struct ttm_buffer_object *bo)
-{
-       struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
-
-       kfree(heap);
-       heap = NULL;
-}
-
-/*
- * the buffer object domain
- */
-void
-ttm_placement_from_domain(struct ttm_buffer_object *bo, struct ttm_placement 
*placement, u32 domains,
-                               struct ttm_bo_device *bdev)
-{
-       struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
-       int cnt = 0, i = 0;
-
-       if (!(domains & TTM_PL_MASK_MEM))
-               domains = TTM_PL_FLAG_SYSTEM;
-
-       do {
-               int domain = (domains & (1 << i));
-
-               if (domain) {
-                       heap->busy_placements[cnt].flags = (domain | 
bdev->man[i].default_caching);
-                       heap->busy_placements[cnt].fpfn = 
heap->busy_placements[cnt].lpfn = 0;
-                       heap->placements[cnt].flags = (domain | 
bdev->man[i].available_caching);
-                       heap->placements[cnt].fpfn = heap->placements[cnt].lpfn 
= 0;
-                       cnt++;
-               }
-       } while (i++ < TTM_NUM_MEM_TYPES);
-
-       placement->num_busy_placement = placement->num_placement = cnt;
-       placement->busy_placement = heap->busy_placements;
-       placement->placement = heap->placements;
-}
-
-int
-via_bo_create(struct ttm_bo_device *bdev,
-               unsigned long size,
-               enum ttm_bo_type origin,
-               uint32_t domains,
-               uint32_t byte_align,
-               uint32_t page_align,
-               bool interruptible,
-               struct sg_table *sg,
-               struct reservation_object *resv,
-               struct ttm_buffer_object **p_bo)
-{
-       struct ttm_buffer_object *bo = NULL;
-       struct ttm_placement placement;
-       struct ttm_heap *heap;
-       size_t acc_size;
-       int ret = -ENOMEM;
-
-    DRM_DEBUG("Entered via_bo_create.\n");
-
-       size = round_up(size, byte_align);
-       size = ALIGN(size, page_align);
-
-       heap = kzalloc(sizeof(struct ttm_heap), GFP_KERNEL);
-    if (unlikely(!heap)) {
-        DRM_ERROR("Failed to allocate kernel memory.");
-        goto exit;
-    }
-
-       bo = &heap->pbo;
-
-       ttm_placement_from_domain(bo, &placement, domains, bdev);
-
-       acc_size = ttm_bo_dma_acc_size(bdev, size,
-                                       sizeof(struct ttm_heap));
-
-       ret = ttm_bo_init(bdev, bo, size, origin, &placement,
-                         page_align >> PAGE_SHIFT,
-                         interruptible, NULL, acc_size,
-                         sg, NULL, ttm_buffer_object_destroy);
-
-    if (unlikely(ret)) {
-        DRM_ERROR("Failed to initialize a TTM Buffer Object.");
-        goto error;
-    }
-
-       *p_bo = bo;
-       goto exit;
-error:
-    kfree(heap);
-exit:
-    DRM_DEBUG("Exiting via_bo_create.\n");
-       return ret;
-}
-
-int
-via_bo_pin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj *kmap)
-{
-       struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
-       struct ttm_placement placement;
-       int ret;
-
-       ret = ttm_bo_reserve(bo, true, false, false, 0);
-       if (!ret) {
-               placement.placement = heap->placements;
-               placement.num_placement = 1;
-
-               heap->placements[0].flags = (bo->mem.placement | 
TTM_PL_FLAG_NO_EVICT);
-               ret = ttm_bo_validate(bo, &placement, false, false);
-               if (!ret && kmap)
-                       ret = ttm_bo_kmap(bo, 0, bo->num_pages, kmap);
-               ttm_bo_unreserve(bo);
-       }
-       return ret;
-}
-
-int
-ttm_bo_unpin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj *kmap)
-{
-       struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
-       struct ttm_placement placement;
-       int ret;
-
-       ret = ttm_bo_reserve(bo, true, false, false, 0);
-       if (!ret) {
-               if (kmap)
-                       ttm_bo_kunmap(kmap);
-
-               placement.placement = heap->placements;
-               placement.num_placement = 1;
-
-               heap->placements[0].flags = (bo->mem.placement & 
~TTM_PL_FLAG_NO_EVICT);
-               ret = ttm_bo_validate(bo, &placement, false, false);
-               ttm_bo_unreserve(bo);
-       }
-       return ret;
-}
-
 int
 ttm_allocate_kernel_buffer(struct ttm_bo_device *bdev, unsigned long size,
                                uint32_t alignment, uint32_t domain,
diff --git a/drivers/gpu/drm/via/via_mem.h b/drivers/gpu/drm/via/via_mem.h
index 350d622..d2b64e8 100644
--- a/drivers/gpu/drm/via/via_mem.h
+++ b/drivers/gpu/drm/via/via_mem.h
@@ -35,6 +35,10 @@ struct ttm_heap {
        struct ttm_buffer_object pbo;
 };
 
+extern int ttm_allocate_kernel_buffer(struct ttm_bo_device *bdev, unsigned 
long size,
+                      uint32_t alignment, uint32_t domain,
+                      struct ttm_bo_kmap_obj *kmap);
+
 extern void via_ttm_global_release(struct drm_global_reference *global_ref,
                 struct ttm_bo_global_ref *global_bo,
                 struct ttm_bo_device *bdev);
@@ -45,26 +49,18 @@ extern int via_ttm_global_init(struct drm_global_reference 
*global_ref,
                struct drm_device *dev,
                bool dma32);
 extern int via_ttm_init(struct drm_device *dev);
-extern struct ttm_tt *
-via_sgdma_backend_init(struct ttm_bo_device *bdev, unsigned long size,
-                      uint32_t page_flags, struct page *dummy_read_page);
-
-
-extern int via_bo_create(struct ttm_bo_device *bdev, unsigned long size,
-                          enum ttm_bo_type origin, uint32_t domains,
-                          uint32_t byte_align, uint32_t page_align,
-                          bool interruptible, struct sg_table *sg,
-                          struct reservation_object *resv,
-                          struct ttm_buffer_object **p_bo);
+void via_mm_fini(struct drm_device *dev);
 extern void ttm_placement_from_domain(struct ttm_buffer_object *bo,
-                                     struct ttm_placement *placement,
-                                     u32 domains, struct ttm_bo_device *bdev);
-extern int ttm_bo_unpin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj 
*kmap);
+                      struct ttm_placement *placement,
+                      u32 domains, struct ttm_bo_device *bdev);
+extern int via_bo_create(struct ttm_bo_device *bdev, unsigned long size,
+               enum ttm_bo_type origin, uint32_t domains,
+               uint32_t byte_align, uint32_t page_align,
+               bool interruptible, struct sg_table *sg,
+               struct reservation_object *resv,
+               struct ttm_buffer_object **p_bo);
 extern int via_bo_pin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj 
*kmap);
-extern int ttm_allocate_kernel_buffer(struct ttm_bo_device *bdev, unsigned 
long size,
-                                     uint32_t alignment, uint32_t domain,
-                                     struct ttm_bo_kmap_obj *kmap);
-void via_mm_fini(struct drm_device *dev);
+extern int ttm_bo_unpin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj 
*kmap);
 
 extern int ttm_mmap(struct file *filp, struct vm_area_struct *vma);
 
@@ -78,4 +74,8 @@ extern struct drm_gem_object *ttm_gem_create(struct 
drm_device *dev,
                                             unsigned long size);
 extern struct ttm_buffer_object *ttm_gem_mapping(struct drm_gem_object *obj);
 
+extern struct ttm_tt *
+via_sgdma_backend_init(struct ttm_bo_device *bdev, unsigned long size,
+               uint32_t page_flags, struct page *dummy_read_page);
+
 #endif /* _VIA_MEM_H_ */
diff --git a/drivers/gpu/drm/via/via_ttm.c b/drivers/gpu/drm/via/via_ttm.c
index 5357849..6d55ae3 100644
--- a/drivers/gpu/drm/via/via_ttm.c
+++ b/drivers/gpu/drm/via/via_ttm.c
@@ -106,6 +106,15 @@ via_ttm_global_init(struct drm_global_reference 
*global_ref,
     return rc;
 }
 
+static void
+ttm_buffer_object_destroy(struct ttm_buffer_object *bo)
+{
+    struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
+
+    kfree(heap);
+    heap = NULL;
+}
+
 static struct ttm_tt *
 via_ttm_tt_create(struct ttm_bo_device *bdev, unsigned long size,
                        uint32_t page_flags, struct page *dummy_read_page)
@@ -589,3 +598,131 @@ void via_mm_fini(struct drm_device *dev)
 
     DRM_DEBUG("Exiting via_mm_fini.\n");
 }
+
+/*
+ * the buffer object domain
+ */
+void
+ttm_placement_from_domain(struct ttm_buffer_object *bo, struct ttm_placement 
*placement, u32 domains,
+                struct ttm_bo_device *bdev)
+{
+    struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
+    int cnt = 0, i = 0;
+
+    if (!(domains & TTM_PL_MASK_MEM))
+        domains = TTM_PL_FLAG_SYSTEM;
+
+    do {
+        int domain = (domains & (1 << i));
+
+        if (domain) {
+            heap->busy_placements[cnt].flags = (domain | 
bdev->man[i].default_caching);
+            heap->busy_placements[cnt].fpfn = heap->busy_placements[cnt].lpfn 
= 0;
+            heap->placements[cnt].flags = (domain | 
bdev->man[i].available_caching);
+            heap->placements[cnt].fpfn = heap->placements[cnt].lpfn = 0;
+            cnt++;
+        }
+    } while (i++ < TTM_NUM_MEM_TYPES);
+
+    placement->num_busy_placement = placement->num_placement = cnt;
+    placement->busy_placement = heap->busy_placements;
+    placement->placement = heap->placements;
+}
+
+int
+via_bo_create(struct ttm_bo_device *bdev,
+        unsigned long size,
+        enum ttm_bo_type origin,
+        uint32_t domains,
+        uint32_t byte_align,
+        uint32_t page_align,
+        bool interruptible,
+        struct sg_table *sg,
+        struct reservation_object *resv,
+        struct ttm_buffer_object **p_bo)
+{
+    struct ttm_buffer_object *bo = NULL;
+    struct ttm_placement placement;
+    struct ttm_heap *heap;
+    size_t acc_size;
+    int ret = -ENOMEM;
+
+    DRM_DEBUG("Entered via_bo_create.\n");
+
+    size = round_up(size, byte_align);
+    size = ALIGN(size, page_align);
+
+    heap = kzalloc(sizeof(struct ttm_heap), GFP_KERNEL);
+    if (unlikely(!heap)) {
+        DRM_ERROR("Failed to allocate kernel memory.");
+        goto exit;
+    }
+
+    bo = &heap->pbo;
+
+    ttm_placement_from_domain(bo, &placement, domains, bdev);
+
+    acc_size = ttm_bo_dma_acc_size(bdev, size,
+                                    sizeof(struct ttm_heap));
+
+    ret = ttm_bo_init(bdev, bo, size, origin, &placement,
+              page_align >> PAGE_SHIFT,
+              interruptible, NULL, acc_size,
+              sg, NULL, ttm_buffer_object_destroy);
+
+    if (unlikely(ret)) {
+        DRM_ERROR("Failed to initialize a TTM Buffer Object.");
+        goto error;
+    }
+
+    *p_bo = bo;
+    goto exit;
+error:
+    kfree(heap);
+exit:
+    DRM_DEBUG("Exiting via_bo_create.\n");
+    return ret;
+}
+
+int
+via_bo_pin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj *kmap)
+{
+    struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
+    struct ttm_placement placement;
+    int ret;
+
+    ret = ttm_bo_reserve(bo, true, false, false, 0);
+    if (!ret) {
+        placement.placement = heap->placements;
+        placement.num_placement = 1;
+
+        heap->placements[0].flags = (bo->mem.placement | TTM_PL_FLAG_NO_EVICT);
+        ret = ttm_bo_validate(bo, &placement, false, false);
+        if (!ret && kmap)
+            ret = ttm_bo_kmap(bo, 0, bo->num_pages, kmap);
+        ttm_bo_unreserve(bo);
+    }
+    return ret;
+}
+
+int
+ttm_bo_unpin(struct ttm_buffer_object *bo, struct ttm_bo_kmap_obj *kmap)
+{
+    struct ttm_heap *heap = container_of(bo, struct ttm_heap, pbo);
+    struct ttm_placement placement;
+    int ret;
+
+    ret = ttm_bo_reserve(bo, true, false, false, 0);
+    if (!ret) {
+        if (kmap)
+            ttm_bo_kunmap(kmap);
+
+        placement.placement = heap->placements;
+        placement.num_placement = 1;
+
+        heap->placements[0].flags = (bo->mem.placement & 
~TTM_PL_FLAG_NO_EVICT);
+        ret = ttm_bo_validate(bo, &placement, false, false);
+        ttm_bo_unreserve(bo);
+    }
+    return ret;
+}
_______________________________________________
Openchrome-devel mailing list
Openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to