diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/1463-drm-amdgpu-group-userptr-in-the-BO-list-v2.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/1463-drm-amdgpu-group-userptr-in-the-BO-list-v2.patch | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/common/recipes-kernel/linux/files/1463-drm-amdgpu-group-userptr-in-the-BO-list-v2.patch b/common/recipes-kernel/linux/files/1463-drm-amdgpu-group-userptr-in-the-BO-list-v2.patch deleted file mode 100644 index e004bb84..00000000 --- a/common/recipes-kernel/linux/files/1463-drm-amdgpu-group-userptr-in-the-BO-list-v2.patch +++ /dev/null @@ -1,115 +0,0 @@ -From e616ecfd45c6cf44d1af3c06a679d3010b0836bc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Mon, 22 Feb 2016 15:40:59 +0100 -Subject: [PATCH 1463/1565] drm/amdgpu: group userptr in the BO list v2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We need them together with the next patch. - -v2: Don't take bo reference twice - -Signed-off-by: Christian König <christian.koenig@amd.com> -Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> -Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- - drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 24 +++++++++++++++--------- - drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 3 ++- - 3 files changed, 18 insertions(+), 11 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index 4cf2321..3efee26 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -1009,7 +1009,7 @@ struct amdgpu_bo_list { - struct amdgpu_bo *gds_obj; - struct amdgpu_bo *gws_obj; - struct amdgpu_bo *oa_obj; -- bool has_userptr; -+ unsigned first_userptr; - unsigned num_entries; - struct amdgpu_bo_list_entry *array; - }; -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c -index 4792f9d..9763e52 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c -@@ -91,7 +91,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev, - struct amdgpu_bo *gws_obj = adev->gds.gws_gfx_bo; - struct amdgpu_bo *oa_obj = adev->gds.oa_gfx_bo; - -- bool has_userptr = false; -+ unsigned last_entry = 0, first_userptr = num_entries; - unsigned i; - int r; - -@@ -101,8 +101,9 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev, - memset(array, 0, num_entries * sizeof(struct amdgpu_bo_list_entry)); - - for (i = 0; i < num_entries; ++i) { -- struct amdgpu_bo_list_entry *entry = &array[i]; -+ struct amdgpu_bo_list_entry *entry; - struct drm_gem_object *gobj; -+ struct amdgpu_bo *bo; - struct mm_struct *usermm; - - gobj = drm_gem_object_lookup(adev->ddev, filp, info[i].bo_handle); -@@ -111,19 +112,24 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev, - goto error_free; - } - -- entry->robj = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj)); -+ bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj)); - drm_gem_object_unreference_unlocked(gobj); -- entry->priority = min(info[i].bo_priority, -- AMDGPU_BO_LIST_MAX_PRIORITY); -- usermm = amdgpu_ttm_tt_get_usermm(entry->robj->tbo.ttm); -+ -+ usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm); - if (usermm) { - if (usermm != current->mm) { -- amdgpu_bo_unref(&entry->robj); -+ amdgpu_bo_unref(&bo); - r = -EPERM; - goto error_free; - } -- has_userptr = true; -+ entry = &array[--first_userptr]; -+ } else { -+ entry = &array[last_entry++]; - } -+ -+ entry->robj = bo; -+ entry->priority = min(info[i].bo_priority, -+ AMDGPU_BO_LIST_MAX_PRIORITY); - entry->tv.bo = &entry->robj->tbo; - entry->tv.shared = true; - -@@ -145,7 +151,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev, - list->gds_obj = gds_obj; - list->gws_obj = gws_obj; - list->oa_obj = oa_obj; -- list->has_userptr = has_userptr; -+ list->first_userptr = first_userptr; - list->array = array; - list->num_entries = num_entries; - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -index 52c3eb9..7833dfb 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -@@ -350,7 +350,8 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p, - - 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; -+ need_mmap_lock = p->bo_list->first_userptr != -+ p->bo_list->num_entries; - amdgpu_bo_list_get_list(p->bo_list, &p->validated); - } - --- -1.9.1 - |