drm/amdgpu: don't need to use bo_list_clone any more
authorChunming Zhou <david1.zhou@amd.com>
Tue, 18 Aug 2015 08:25:46 +0000 (16:25 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 20 Aug 2015 21:02:58 +0000 (17:02 -0400)
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian K?nig <christian.koenig@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c

index 77fc7cd..2cf7f52 100644 (file)
@@ -156,7 +156,6 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
        uint64_t *chunk_array_user;
        uint64_t *chunk_array = NULL;
        struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
-       struct amdgpu_bo_list *bo_list = NULL;
        unsigned size, i;
        int r = 0;
 
@@ -168,20 +167,7 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
                r = -EINVAL;
                goto out;
        }
-       bo_list = amdgpu_bo_list_get(fpriv, cs->in.bo_list_handle);
-       if (!amdgpu_enable_scheduler)
-               p->bo_list = bo_list;
-       else {
-               if (bo_list && !bo_list->has_userptr) {
-                       p->bo_list = amdgpu_bo_list_clone(bo_list);
-                       amdgpu_bo_list_put(bo_list);
-                       if (!p->bo_list)
-                               return -ENOMEM;
-               } else if (bo_list && bo_list->has_userptr)
-                       p->bo_list = bo_list;
-               else
-                       p->bo_list = NULL;
-       }
+       p->bo_list = amdgpu_bo_list_get(fpriv, cs->in.bo_list_handle);
 
        /* get chunks */
        INIT_LIST_HEAD(&p->validated);
@@ -481,12 +467,9 @@ static void amdgpu_cs_parser_fini_late(struct amdgpu_cs_parser *parser)
        unsigned i;
        if (parser->ctx)
                amdgpu_ctx_put(parser->ctx);
-       if (parser->bo_list) {
-               if (amdgpu_enable_scheduler && !parser->bo_list->has_userptr)
-                       amdgpu_bo_list_free(parser->bo_list);
-               else
-                       amdgpu_bo_list_put(parser->bo_list);
-       }
+       if (parser->bo_list)
+               amdgpu_bo_list_put(parser->bo_list);
+
        drm_free_large(parser->vm_bos);
        for (i = 0; i < parser->nchunks; i++)
                drm_free_large(parser->chunks[i].kdata);