diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0865-drm-amdgpu-cleanup-the-VM-code-a-bit-more.patch b/common/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/common/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(¶ms, 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 + |