diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0220-drm-amdgpu-cleanup-amdgpu_cs_parser_relocs.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0220-drm-amdgpu-cleanup-amdgpu_cs_parser_relocs.patch | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/common/recipes-kernel/linux/files/0220-drm-amdgpu-cleanup-amdgpu_cs_parser_relocs.patch b/common/recipes-kernel/linux/files/0220-drm-amdgpu-cleanup-amdgpu_cs_parser_relocs.patch deleted file mode 100644 index d54cd8fd..00000000 --- a/common/recipes-kernel/linux/files/0220-drm-amdgpu-cleanup-amdgpu_cs_parser_relocs.patch +++ /dev/null @@ -1,97 +0,0 @@ -From f58575533de1b3e552a4e607186dd54a95df673b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Fri, 18 Dec 2015 20:33:52 +0100 -Subject: [PATCH 0220/1110] drm/amdgpu: cleanup amdgpu_cs_parser_relocs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Rename it to amdgpu_cs_parser_bos and move validation and bo list init there. - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -index f94469d..e615aa0 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -@@ -181,15 +181,12 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data) - goto free_chunk; - } - -- p->bo_list = amdgpu_bo_list_get(fpriv, cs->in.bo_list_handle); -- - /* get chunks */ -- INIT_LIST_HEAD(&p->validated); - chunk_array_user = (uint64_t __user *)(unsigned long)(cs->in.chunks); - if (copy_from_user(chunk_array, chunk_array_user, - sizeof(uint64_t)*cs->in.num_chunks)) { - ret = -EFAULT; -- goto put_bo_list; -+ goto put_ctx; - } - - p->nchunks = cs->in.num_chunks; -@@ -197,7 +194,7 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data) - GFP_KERNEL); - if (!p->chunks) { - ret = -ENOMEM; -- goto put_bo_list; -+ goto put_ctx; - } - - for (i = 0; i < p->nchunks; i++) { -@@ -273,9 +270,7 @@ free_partial_kdata: - for (; i >= 0; i--) - drm_free_large(p->chunks[i].kdata); - kfree(p->chunks); --put_bo_list: -- if (p->bo_list) -- amdgpu_bo_list_put(p->bo_list); -+put_ctx: - amdgpu_ctx_put(p->ctx); - free_chunk: - kfree(chunk_array); -@@ -383,7 +378,8 @@ int amdgpu_cs_list_validate(struct amdgpu_cs_parser *p, - return 0; - } - --static int amdgpu_cs_parser_relocs(struct amdgpu_cs_parser *p) -+static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p, -+ union drm_amdgpu_cs *cs) - { - struct amdgpu_fpriv *fpriv = p->filp->driver_priv; - struct amdgpu_cs_buckets buckets; -@@ -391,12 +387,15 @@ static int amdgpu_cs_parser_relocs(struct amdgpu_cs_parser *p) - bool need_mmap_lock = false; - int i, r; - -+ INIT_LIST_HEAD(&p->validated); -+ -+ p->bo_list = amdgpu_bo_list_get(fpriv, cs->in.bo_list_handle); - if (p->bo_list) { - need_mmap_lock = p->bo_list->has_userptr; - amdgpu_cs_buckets_init(&buckets); - for (i = 0; i < p->bo_list->num_entries; i++) - amdgpu_cs_buckets_add(&buckets, &p->bo_list->array[i].tv.head, -- p->bo_list->array[i].priority); -+ p->bo_list->array[i].priority); - - amdgpu_cs_buckets_get_list(&buckets, &p->validated); - } -@@ -822,7 +821,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) - r = amdgpu_cs_handle_lockup(adev, r); - return r; - } -- r = amdgpu_cs_parser_relocs(&parser); -+ r = amdgpu_cs_parser_bos(&parser, data); - if (r == -ENOMEM) - DRM_ERROR("Not enough memory for command submission!\n"); - else if (r && r != -ERESTARTSYS) --- -2.7.4 - |