drm-next reverted the changes to ttm_tt_create() to do the
NULL check inside the function, but drm-misc-next adds new
users of this approach.

Re-apply the NULL check change inside the function to fix this.

Signed-off-by: Christian König <christian.koe...@amd.com>
Reviewed-by: Dave Airlie <airl...@redhat.com>
Link: https://patchwork.freedesktop.org/patch/386628/
---
 drivers/gpu/drm/ttm/ttm_bo.c | 2 +-
 drivers/gpu/drm/ttm/ttm_tt.c | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 97ac662a47cb..e3931e515906 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -1180,7 +1180,7 @@ int ttm_bo_validate(struct ttm_buffer_object *bo,
        /*
         * We might need to add a TTM.
         */
-       if (bo->mem.mem_type == TTM_PL_SYSTEM && bo->ttm == NULL) {
+       if (bo->mem.mem_type == TTM_PL_SYSTEM) {
                ret = ttm_tt_create(bo, true);
                if (ret)
                        return ret;
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index 9aa4fbe386e6..1ccf1ef050d6 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -50,6 +50,9 @@ int ttm_tt_create(struct ttm_buffer_object *bo, bool 
zero_alloc)
 
        dma_resv_assert_held(bo->base.resv);
 
+       if (bo->ttm)
+               return 0;
+
        if (bdev->need_dma32)
                page_flags |= TTM_PAGE_FLAG_DMA32;
 
@@ -67,7 +70,6 @@ int ttm_tt_create(struct ttm_buffer_object *bo, bool 
zero_alloc)
                page_flags |= TTM_PAGE_FLAG_SG;
                break;
        default:
-               bo->ttm = NULL;
                pr_err("Illegal buffer object type\n");
                return -EINVAL;
        }
-- 
2.17.1

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

Reply via email to