aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch
new file mode 100644
index 00000000..00632dcb
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch
@@ -0,0 +1,101 @@
+From 945cb77bf79d59b21c8999134b142f6f5ce29380 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Wed, 30 Aug 2017 15:38:45 +0200
+Subject: [PATCH 0865/4131] drm/amdgpu: cleanup the VM code a bit more
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The src isn't used any more after GART hack removal.
+
+Change-Id: I7c151fd9ed75eb970cd3488b9922662533f6bf2e
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
+Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 20 +++++---------------
+ 1 file changed, 5 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+index 413dc75..40f3703 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+@@ -1476,7 +1476,6 @@ static int amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params,
+ *
+ * @adev: amdgpu_device pointer
+ * @exclusive: fence we need to sync to
+- * @src: address where to copy page table entries from
+ * @pages_addr: DMA addresses to use for mapping
+ * @vm: requested vm
+ * @start: start of mapped range
+@@ -1490,7 +1489,6 @@ static int amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params,
+ */
+ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
+ struct dma_fence *exclusive,
+- uint64_t src,
+ dma_addr_t *pages_addr,
+ struct amdgpu_vm *vm,
+ uint64_t start, uint64_t last,
+@@ -1508,7 +1506,6 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
+ memset(&params, 0, sizeof(params));
+ params.adev = adev;
+ params.vm = vm;
+- params.src = src;
+
+ /* sync to everything on unmapping */
+ if (!(flags & AMDGPU_PTE_VALID))
+@@ -1548,13 +1545,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
+ /* one PDE write for each huge page */
+ ndw += ((nptes >> adev->vm_manager.block_size) + 1) * 6;
+
+- if (src) {
+- /* only copy commands needed */
+- ndw += ncmds * 7;
+-
+- params.func = amdgpu_vm_do_copy_ptes;
+-
+- } else if (pages_addr) {
++ if (pages_addr) {
+ /* copy commands needed */
+ ndw += ncmds * 7;
+
+@@ -1579,7 +1570,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
+
+ params.ib = &job->ibs[0];
+
+- if (!src && pages_addr) {
++ if (pages_addr) {
+ uint64_t *pte;
+ unsigned i;
+
+@@ -1657,7 +1648,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev,
+ struct dma_fence **fence)
+ {
+ struct drm_mm_node *nodes = mem ? mem->mm_node : NULL;
+- uint64_t pfn, src = 0, start = mapping->start;
++ uint64_t pfn, start = mapping->start;
+ int r;
+
+ /* normally,bo_va->flags only contians READABLE and WIRTEABLE bit go here
+@@ -1726,8 +1717,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev,
+ addr += pfn << PAGE_SHIFT;
+
+ last = min((uint64_t)mapping->last, start + max_entries - 1);
+- r = amdgpu_vm_bo_update_mapping(adev, exclusive,
+- src, pages_addr, vm,
++ r = amdgpu_vm_bo_update_mapping(adev, exclusive, pages_addr, vm,
+ start, last, flags, addr,
+ fence);
+ if (r)
+@@ -1990,7 +1980,7 @@ int amdgpu_vm_clear_freed(struct amdgpu_device *adev,
+ if (vm->pte_support_ats)
+ init_pte_value = AMDGPU_PTE_SYSTEM;
+
+- r = amdgpu_vm_bo_update_mapping(adev, NULL, 0, NULL, vm,
++ r = amdgpu_vm_bo_update_mapping(adev, NULL, NULL, vm,
+ mapping->start, mapping->last,
+ init_pte_value, 0, &f);
+ amdgpu_vm_free_mapping(adev, vm, mapping, f);
+--
+2.7.4
+