Cleanup ttm_tt_create a bit.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/ttm/ttm_tt.c | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index 917942d03047..0ee3b8f11605 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -53,11 +53,9 @@
 int ttm_tt_create(struct ttm_buffer_object *bo, bool zero_alloc)
 {
        struct ttm_bo_device *bdev = bo->bdev;
-       int ret = 0;
        uint32_t page_flags = 0;
 
        reservation_object_assert_held(bo->resv);
-       bo->ttm = NULL;
 
        if (bdev->need_dma32)
                page_flags |= TTM_PAGE_FLAG_DMA32;
@@ -69,28 +67,27 @@ int ttm_tt_create(struct ttm_buffer_object *bo, bool 
zero_alloc)
        case ttm_bo_type_device:
                if (zero_alloc)
                        page_flags |= TTM_PAGE_FLAG_ZERO_ALLOC;
+               break;
        case ttm_bo_type_kernel:
-               bo->ttm = bdev->driver->ttm_tt_create(bdev, bo->num_pages << 
PAGE_SHIFT,
-                                                     page_flags);
-               if (unlikely(bo->ttm == NULL))
-                       ret = -ENOMEM;
                break;
        case ttm_bo_type_sg:
-               bo->ttm = bdev->driver->ttm_tt_create(bdev, bo->num_pages << 
PAGE_SHIFT,
-                                                     page_flags | 
TTM_PAGE_FLAG_SG);
-               if (unlikely(bo->ttm == NULL)) {
-                       ret = -ENOMEM;
-                       break;
-               }
-               bo->ttm->sg = bo->sg;
+               page_flags |= TTM_PAGE_FLAG_SG;
                break;
        default:
+               bo->ttm = NULL;
                pr_err("Illegal buffer object type\n");
-               ret = -EINVAL;
-               break;
+               return -EINVAL;
        }
 
-       return ret;
+       bo->ttm = bdev->driver->ttm_tt_create(bdev, bo->num_pages << PAGE_SHIFT,
+                                             page_flags);
+       if (unlikely(bo->ttm == NULL))
+               return -ENOMEM;
+
+       if (bo->type == ttm_bo_type_sg)
+               bo->ttm->sg = bo->sg;
+
+       return 0;
 }
 
 /**
-- 
2.14.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to