aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch128
1 files changed, 128 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0318-drm-amdgpu-move-size-calculations-to-the-front-of-th.patch b/common/recipes-kernel/linux/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/common/recipes-kernel/linux/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
+