mirror of https://gitee.com/openkylin/linux.git
drm/amdgpu: don't need to use bo_list_clone any more
Signed-off-by: Chunming Zhou <david1.zhou@amd.com> Reviewed-by: Christian K?nig <christian.koenig@amd.com>
This commit is contained in:
parent
3c4adead84
commit
a3348bb801
|
@ -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_user;
|
||||||
uint64_t *chunk_array = NULL;
|
uint64_t *chunk_array = NULL;
|
||||||
struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
|
struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
|
||||||
struct amdgpu_bo_list *bo_list = NULL;
|
|
||||||
unsigned size, i;
|
unsigned size, i;
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
|
||||||
|
@ -168,20 +167,7 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
|
||||||
r = -EINVAL;
|
r = -EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
bo_list = amdgpu_bo_list_get(fpriv, cs->in.bo_list_handle);
|
p->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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* get chunks */
|
/* get chunks */
|
||||||
INIT_LIST_HEAD(&p->validated);
|
INIT_LIST_HEAD(&p->validated);
|
||||||
|
@ -481,12 +467,9 @@ static void amdgpu_cs_parser_fini_late(struct amdgpu_cs_parser *parser)
|
||||||
unsigned i;
|
unsigned i;
|
||||||
if (parser->ctx)
|
if (parser->ctx)
|
||||||
amdgpu_ctx_put(parser->ctx);
|
amdgpu_ctx_put(parser->ctx);
|
||||||
if (parser->bo_list) {
|
if (parser->bo_list)
|
||||||
if (amdgpu_enable_scheduler && !parser->bo_list->has_userptr)
|
amdgpu_bo_list_put(parser->bo_list);
|
||||||
amdgpu_bo_list_free(parser->bo_list);
|
|
||||||
else
|
|
||||||
amdgpu_bo_list_put(parser->bo_list);
|
|
||||||
}
|
|
||||||
drm_free_large(parser->vm_bos);
|
drm_free_large(parser->vm_bos);
|
||||||
for (i = 0; i < parser->nchunks; i++)
|
for (i = 0; i < parser->nchunks; i++)
|
||||||
drm_free_large(parser->chunks[i].kdata);
|
drm_free_large(parser->chunks[i].kdata);
|
||||||
|
|
Loading…
Reference in New Issue