drivers/gpu/drm/via/init_ttm.c      |   38 ++++++++++++++++++++++++------------
 drivers/gpu/drm/via/ttm_gem.c       |    2 -
 drivers/gpu/drm/via/via_drv.c       |    2 -
 drivers/gpu/drm/via/via_drv.h       |    4 +--
 drivers/gpu/drm/via/via_h1_cmdbuf.c |    2 -
 drivers/gpu/drm/via/via_mem.h       |    2 -
 6 files changed, 32 insertions(+), 18 deletions(-)

New commits:
commit b5bb0e1f3ace721de541841271e995dc7eb3830e
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Mon Jan 16 14:07:30 2017 -0600

    Version bumped to 3.0.11
    
    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 3f6788c..85219a7 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         "20170102"
+#define DRIVER_DATE         "20170116"
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           0
-#define DRIVER_PATCHLEVEL      10
+#define DRIVER_PATCHLEVEL      11
 
 #include <linux/module.h>
 
commit ea70c1cc20fe6524aa190e682b74adba84edd6e4
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Mon Jan 16 14:06:18 2017 -0600

    Improved the error handling of via_bo_create
    
    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 2d7c71b..a6f041e 100644
--- a/drivers/gpu/drm/via/init_ttm.c
+++ b/drivers/gpu/drm/via/init_ttm.c
@@ -158,12 +158,16 @@ via_bo_create(struct ttm_bo_device *bdev,
        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))
-               return ret;
+    if (unlikely(!heap)) {
+        DRM_ERROR("Failed to allocate kernel memory.");
+        goto exit;
+    }
 
        bo = &heap->pbo;
 
@@ -176,10 +180,18 @@ via_bo_create(struct ttm_bo_device *bdev,
                          page_align >> PAGE_SHIFT,
                          interruptible, NULL, acc_size,
                          sg, NULL, ttm_buffer_object_destroy);
-       if (unlikely(ret))
-               kfree(heap);
-       else
-               *p_bo = bo;
+
+    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;
 }
 
commit fef5aebccb451ecdf60d6e87a5b40206d268cf27
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Mon Jan 16 14:04:18 2017 -0600

    Minor tweaks to via_bo_create
    
    Making the code more common with Matrox G200 DRM and Cirrus Logic DRM.
    
    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 c85b083..2d7c71b 100644
--- a/drivers/gpu/drm/via/init_ttm.c
+++ b/drivers/gpu/drm/via/init_ttm.c
@@ -152,16 +152,16 @@ via_bo_create(struct ttm_bo_device *bdev,
                struct reservation_object *resv,
                struct ttm_buffer_object **p_bo)
 {
-       unsigned long acc_size = sizeof(struct ttm_heap);
        struct ttm_buffer_object *bo = NULL;
        struct ttm_placement placement;
        struct ttm_heap *heap;
+       size_t acc_size;
        int ret = -ENOMEM;
 
        size = round_up(size, byte_align);
        size = ALIGN(size, page_align);
 
-       heap = kzalloc(acc_size, GFP_KERNEL);
+       heap = kzalloc(sizeof(struct ttm_heap), GFP_KERNEL);
        if (unlikely(!heap))
                return ret;
 
@@ -169,10 +169,12 @@ via_bo_create(struct ttm_bo_device *bdev,
 
        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,
-                         ttm_bo_dma_acc_size(bdev, size, acc_size),
+                         interruptible, NULL, acc_size,
                          sg, NULL, ttm_buffer_object_destroy);
        if (unlikely(ret))
                kfree(heap);
commit 012e6f88a63730fdf8f8f82ffa8ba9b4680e9daf
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Mon Jan 16 14:00:41 2017 -0600

    Changed via_bo_allocate to via_bo_create
    
    After reading AMD Radeon DRM and Matrox G200 DRM, they call it
    (Chip Vendor)_bo_create for a function OpenChrome DRM calls it
    via_bo_allocate. We will go along with their style of naming
    functions.
    
    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 0b712b6..c85b083 100644
--- a/drivers/gpu/drm/via/init_ttm.c
+++ b/drivers/gpu/drm/via/init_ttm.c
@@ -141,7 +141,7 @@ ttm_placement_from_domain(struct ttm_buffer_object *bo, 
struct ttm_placement *pl
 }
 
 int
-via_bo_allocate(struct ttm_bo_device *bdev,
+via_bo_create(struct ttm_bo_device *bdev,
                unsigned long size,
                enum ttm_bo_type origin,
                uint32_t domains,
@@ -229,7 +229,7 @@ ttm_allocate_kernel_buffer(struct ttm_bo_device *bdev, 
unsigned long size,
                                uint32_t alignment, uint32_t domain,
                                struct ttm_bo_kmap_obj *kmap)
 {
-       int ret = via_bo_allocate(bdev, size, ttm_bo_type_kernel, domain,
+       int ret = via_bo_create(bdev, size, ttm_bo_type_kernel, domain,
                                  alignment, PAGE_SIZE, false, NULL,
                                  NULL, &kmap->bo);
        if (likely(!ret)) {
diff --git a/drivers/gpu/drm/via/ttm_gem.c b/drivers/gpu/drm/via/ttm_gem.c
index aa46773..5dc50a1 100644
--- a/drivers/gpu/drm/via/ttm_gem.c
+++ b/drivers/gpu/drm/via/ttm_gem.c
@@ -95,7 +95,7 @@ ttm_gem_create(struct drm_device *dev, struct ttm_bo_device 
*bdev,
        size = round_up(size, byte_align);
        size = ALIGN(size, page_align);
 
-       ret = via_bo_allocate(bdev, size, origin, types, byte_align,
+       ret = via_bo_create(bdev, size, origin, types, byte_align,
                              page_align, interruptible, NULL, NULL, &bo);
        if (ret) {
                DRM_ERROR("Failed to create buffer object\n");
diff --git a/drivers/gpu/drm/via/via_drv.c b/drivers/gpu/drm/via/via_drv.c
index f7ab710..744b639 100644
--- a/drivers/gpu/drm/via/via_drv.c
+++ b/drivers/gpu/drm/via/via_drv.c
@@ -151,7 +151,7 @@ via_mmio_setup(struct drm_device *dev)
        if (ret)
                return ret;
 
-       ret = via_bo_allocate(&dev_priv->bdev, VIA_MMIO_REGSIZE, 
ttm_bo_type_kernel,
+       ret = via_bo_create(&dev_priv->bdev, VIA_MMIO_REGSIZE, 
ttm_bo_type_kernel,
                              TTM_PL_FLAG_PRIV0, 1, PAGE_SIZE, false, NULL, 
NULL, &bo);
        if (ret)
                goto err;
diff --git a/drivers/gpu/drm/via/via_h1_cmdbuf.c 
b/drivers/gpu/drm/via/via_h1_cmdbuf.c
index 92bf0a3..efcb830 100644
--- a/drivers/gpu/drm/via/via_h1_cmdbuf.c
+++ b/drivers/gpu/drm/via/via_h1_cmdbuf.c
@@ -159,7 +159,7 @@ static int via_initialize(struct drm_device *dev,
                return ret;
        }
 
-       ret = via_bo_allocate(&dev_priv->bdev, init->size, ttm_bo_type_kernel,
+       ret = via_bo_create(&dev_priv->bdev, init->size, ttm_bo_type_kernel,
                                TTM_PL_FLAG_TT, VIA_MM_ALIGN_SIZE, PAGE_SIZE,
                                false, NULL, NULL, &bo);
        if (!ret) {
diff --git a/drivers/gpu/drm/via/via_mem.h b/drivers/gpu/drm/via/via_mem.h
index 4641dc2..ce8441f 100644
--- a/drivers/gpu/drm/via/via_mem.h
+++ b/drivers/gpu/drm/via/via_mem.h
@@ -50,7 +50,7 @@ extern void ttm_global_fini(struct drm_global_reference 
*global_ref,
                            struct ttm_bo_global_ref *global_bo,
                            struct ttm_bo_device *bdev);
 
-extern int via_bo_allocate(struct ttm_bo_device *bdev, unsigned long size,
+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,
_______________________________________________
Openchrome-devel mailing list
Openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to