diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1084-drm-amdgpu-handle-foreign-BOs-in-the-VM-mapping.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1084-drm-amdgpu-handle-foreign-BOs-in-the-VM-mapping.patch | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1084-drm-amdgpu-handle-foreign-BOs-in-the-VM-mapping.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1084-drm-amdgpu-handle-foreign-BOs-in-the-VM-mapping.patch deleted file mode 100644 index cf5a1b28..00000000 --- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1084-drm-amdgpu-handle-foreign-BOs-in-the-VM-mapping.patch +++ /dev/null @@ -1,83 +0,0 @@ -From eae6ddd03bd0a561162cfc13ec49bcbca43b8daf Mon Sep 17 00:00:00 2001 -From: Amber Lin <Amber.Lin@amd.com> -Date: Thu, 13 Apr 2017 16:49:58 -0400 -Subject: [PATCH 1084/4131] drm/amdgpu: handle foreign BOs in the VM mapping - -Use the correct device for the PTE creation. - -Bug: SWDEV-118409 - -Change-Id: Idf9989d122f9923702f13c3f7dd3b4d1a0796448 -Signed-off-by: Amber Lin <Amber.Lin@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -index 9217edd..8a32c7b 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -@@ -1646,6 +1646,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev, - dma_addr_t *pages_addr, - struct amdgpu_vm *vm, - struct amdgpu_bo_va_mapping *mapping, -+ uint64_t vram_base_offset, - uint64_t flags, - struct ttm_mem_reg *mem, - struct dma_fence **fence) -@@ -1702,12 +1703,12 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev, - max_entries = min(max_entries, 16ull * 1024ull); - break; - case AMDGPU_PL_DGMA: -- addr += adev->vm_manager.vram_base_offset + -+ addr += vram_base_offset + - adev->mman.bdev.man[mem->mem_type].gpu_offset - - adev->mman.bdev.man[TTM_PL_VRAM].gpu_offset; - break; - case TTM_PL_VRAM: -- addr += adev->vm_manager.vram_base_offset; -+ addr += vram_base_offset; - break; - default: - break; -@@ -1760,6 +1761,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, - struct drm_mm_node *nodes; - struct dma_fence *exclusive, **last_update; - uint64_t flags; -+ uint64_t vram_base_offset = adev->vm_manager.vram_base_offset; -+ struct amdgpu_device *bo_adev; - int r; - - if (clear || !bo_va->base.bo) { -@@ -1781,9 +1784,15 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, - exclusive = reservation_object_get_excl(bo->tbo.resv); - } - -- if (bo) -+ if (bo) { - flags = amdgpu_ttm_tt_pte_flags(adev, bo->tbo.ttm, mem); -- else -+ bo_adev = amdgpu_ttm_adev(bo->tbo.bdev); -+ if (mem && mem->mem_type == TTM_PL_VRAM && -+ adev != bo_adev) { -+ flags |= AMDGPU_PTE_SYSTEM; -+ vram_base_offset = bo_adev->mc.aper_base; -+ } -+ } else - flags = 0x0; - - if (clear || (bo && bo->tbo.resv == vm->root.base.bo->tbo.resv)) -@@ -1801,8 +1810,8 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev, - - list_for_each_entry(mapping, &bo_va->invalids, list) { - r = amdgpu_vm_bo_split_mapping(adev, exclusive, pages_addr, vm, -- mapping, flags, mem, -- last_update); -+ mapping, vram_base_offset, flags, -+ mem, last_update); - if (r) - return r; - } --- -2.7.4 - |