diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch new file mode 100644 index 00000000..095e4ef2 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch @@ -0,0 +1,128 @@ +From 3b176d7acdeacc7f1e01fc8ecc55de6596281393 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Thu, 30 Aug 2018 10:31:52 +0200 +Subject: [PATCH 0318/2940] drm/amdgpu: move size calculations to the front of + the file again +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +amdgpu_vm_bo_* functions should come much later. + +Signed-off-by: Christian König <christian.koenig@amd.com> +Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 90 +++++++++++++------------- + 1 file changed, 45 insertions(+), 45 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +index 41c8c640ba23..0a334a04e8c9 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +@@ -133,51 +133,6 @@ struct amdgpu_prt_cb { + struct dma_fence_cb cb; + }; + +-/** +- * amdgpu_vm_bo_base_init - Adds bo to the list of bos associated with the vm +- * +- * @base: base structure for tracking BO usage in a VM +- * @vm: vm to which bo is to be added +- * @bo: amdgpu buffer object +- * +- * Initialize a bo_va_base structure and add it to the appropriate lists +- * +- */ +-static void amdgpu_vm_bo_base_init(struct amdgpu_vm_bo_base *base, +- struct amdgpu_vm *vm, +- struct amdgpu_bo *bo) +-{ +- base->vm = vm; +- base->bo = bo; +- INIT_LIST_HEAD(&base->bo_list); +- INIT_LIST_HEAD(&base->vm_status); +- +- if (!bo) +- return; +- list_add_tail(&base->bo_list, &bo->va); +- +- if (bo->tbo.resv != vm->root.base.bo->tbo.resv) +- return; +- +- vm->bulk_moveable = false; +- if (bo->tbo.type == ttm_bo_type_kernel) +- list_move(&base->vm_status, &vm->relocated); +- else +- list_move(&base->vm_status, &vm->idle); +- +- if (bo->preferred_domains & +- amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type)) +- return; +- +- /* +- * we checked all the prerequisites, but it looks like this per vm bo +- * is currently evicted. add the bo to the evicted list to make sure it +- * is validated on next vm use to avoid fault. +- * */ +- list_move_tail(&base->vm_status, &vm->evicted); +- base->moved = true; +-} +- + /** + * amdgpu_vm_level_shift - return the addr shift for each level + * +@@ -249,6 +204,51 @@ static unsigned amdgpu_vm_bo_size(struct amdgpu_device *adev, unsigned level) + return AMDGPU_GPU_PAGE_ALIGN(amdgpu_vm_num_entries(adev, level) * 8); + } + ++/** ++ * amdgpu_vm_bo_base_init - Adds bo to the list of bos associated with the vm ++ * ++ * @base: base structure for tracking BO usage in a VM ++ * @vm: vm to which bo is to be added ++ * @bo: amdgpu buffer object ++ * ++ * Initialize a bo_va_base structure and add it to the appropriate lists ++ * ++ */ ++static void amdgpu_vm_bo_base_init(struct amdgpu_vm_bo_base *base, ++ struct amdgpu_vm *vm, ++ struct amdgpu_bo *bo) ++{ ++ base->vm = vm; ++ base->bo = bo; ++ INIT_LIST_HEAD(&base->bo_list); ++ INIT_LIST_HEAD(&base->vm_status); ++ ++ if (!bo) ++ return; ++ list_add_tail(&base->bo_list, &bo->va); ++ ++ if (bo->tbo.resv != vm->root.base.bo->tbo.resv) ++ return; ++ ++ vm->bulk_moveable = false; ++ if (bo->tbo.type == ttm_bo_type_kernel) ++ list_move(&base->vm_status, &vm->relocated); ++ else ++ list_move(&base->vm_status, &vm->idle); ++ ++ if (bo->preferred_domains & ++ amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type)) ++ return; ++ ++ /* ++ * we checked all the prerequisites, but it looks like this per vm bo ++ * is currently evicted. add the bo to the evicted list to make sure it ++ * is validated on next vm use to avoid fault. ++ * */ ++ list_move_tail(&base->vm_status, &vm->evicted); ++ base->moved = true; ++} ++ + /** + * amdgpu_vm_get_pd_bo - add the VM PD to a validation list + * +-- +2.17.1 + |