diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2862-drm-amdkfd-Removed-unused-bo-mmap-functions.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2862-drm-amdkfd-Removed-unused-bo-mmap-functions.patch | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2862-drm-amdkfd-Removed-unused-bo-mmap-functions.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2862-drm-amdkfd-Removed-unused-bo-mmap-functions.patch new file mode 100644 index 00000000..7a833979 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2862-drm-amdkfd-Removed-unused-bo-mmap-functions.patch @@ -0,0 +1,186 @@ +From 607d11b10bfdcec51d3a06045bfda7365bf215f8 Mon Sep 17 00:00:00 2001 +From: Oak Zeng <Oak.Zeng@amd.com> +Date: Mon, 13 Nov 2017 14:47:30 -0500 +Subject: [PATCH 2862/4131] drm/amdkfd: Removed unused bo mmap functions + +Those functions were used for mmapping of KFD BOs. +Now KFD BOs are mmapped from drm render node and +those functions are not needed anymore. mmap_bo +interface was also deleted from kfd2kgd calls + +Change-Id: Ic21e025f39d86d7f980ffa0df9abb560281063ca +Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 3 -- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 1 - + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 1 - + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 1 - + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 13 ------- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 43 +---------------------- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 2 -- + drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 1 - + 8 files changed, 1 insertion(+), 64 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h +index b4e26d9..0dbba0f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h +@@ -215,9 +215,6 @@ uint32_t amdgpu_amdkfd_gpuvm_get_process_page_dir(void *vm); + int amdgpu_amdkfd_gpuvm_get_vm_fault_info(struct kgd_dev *kgd, + struct kfd_vm_fault_info *info); + +-int amdgpu_amdkfd_gpuvm_mmap_bo( +- struct kgd_dev *kgd, struct vm_area_struct *vma); +- + int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd, + struct kgd_mem *mem, void **kptr); + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c +index f1cf456..30480c8 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c +@@ -228,7 +228,6 @@ static const struct kfd2kgd_calls kfd2kgd = { + .get_cu_info = get_cu_info, + .alloc_memory_of_scratch = alloc_memory_of_scratch, + .write_config_static_mem = write_config_static_mem, +- .mmap_bo = amdgpu_amdkfd_gpuvm_mmap_bo, + .map_gtt_bo_to_kernel = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel, + .set_vm_context_page_table_base = set_vm_context_page_table_base, + .pin_get_sg_table_bo = amdgpu_amdkfd_gpuvm_pin_get_sg_table, +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c +index 06d4c62..b8d2ddd 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c +@@ -201,7 +201,6 @@ static const struct kfd2kgd_calls kfd2kgd = { + .get_cu_info = get_cu_info, + .alloc_memory_of_scratch = alloc_memory_of_scratch, + .write_config_static_mem = write_config_static_mem, +- .mmap_bo = amdgpu_amdkfd_gpuvm_mmap_bo, + .map_gtt_bo_to_kernel = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel, + .set_vm_context_page_table_base = set_vm_context_page_table_base, + .pin_get_sg_table_bo = amdgpu_amdkfd_gpuvm_pin_get_sg_table, +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c +index 43a0776..99965aa 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c +@@ -246,7 +246,6 @@ static const struct kfd2kgd_calls kfd2kgd = { + .get_cu_info = get_cu_info, + .alloc_memory_of_scratch = alloc_memory_of_scratch, + .write_config_static_mem = write_config_static_mem, +- .mmap_bo = amdgpu_amdkfd_gpuvm_mmap_bo, + .map_gtt_bo_to_kernel = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel, + .set_vm_context_page_table_base = set_vm_context_page_table_base, + .pin_get_sg_table_bo = amdgpu_amdkfd_gpuvm_pin_get_sg_table, +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +index c6e3d60..ab5c7ea 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +@@ -1616,19 +1616,6 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu( + return ret; + } + +-int amdgpu_amdkfd_gpuvm_mmap_bo(struct kgd_dev *kgd, struct vm_area_struct *vma) +-{ +- struct amdgpu_device *adev; +- +- adev = get_amdgpu_device(kgd); +- if (!adev) { +- pr_err("Could not get amdgpu device in %s\n", __func__); +- return -ENODEV; +- } +- +- return amdgpu_bo_mmap(NULL, vma, &adev->mman.bdev); +-} +- + int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd, + struct kgd_mem *mem, void **kptr) + { +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 7e5095c..7e238c1 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -1674,47 +1674,6 @@ void amdgpu_ttm_set_active_vram_size(struct amdgpu_device *adev, u64 size) + man->size = size >> PAGE_SHIFT; + } + +-static struct vm_operations_struct amdgpu_ttm_vm_ops; +-static const struct vm_operations_struct *ttm_vm_ops; +- +-/* This function is a tweak variance of ttm_bo_vm_open() just to avoid the +- * warning message when fork() with KFD BOs on DGPU. +- */ +-static void amdgpu_ttm_vm_open(struct vm_area_struct *vma) +-{ +- struct ttm_buffer_object *bo = +- (struct ttm_buffer_object *)vma->vm_private_data; +- struct amdgpu_bo *abo = container_of(bo, struct amdgpu_bo, tbo); +- +- /* Because vma->vm_file for /dev/kfd can not be associated with any +- * ttm_bo_device due to the one to many mapping between kfd and +- * amdgpu devices, for KFD BOs we should just skip the check. +- */ +- if (!abo->kfd_bo) +- WARN_ON(bo->bdev->dev_mapping != vma->vm_file->f_mapping); +- +- (void)ttm_bo_reference(bo); +-} +- +-int amdgpu_bo_mmap(struct file *filp, struct vm_area_struct *vma, +- struct ttm_bo_device *bdev) +-{ +- int r; +- +- r = ttm_bo_mmap(filp, vma, bdev); +- if (unlikely(r != 0)) +- return r; +- +- if (unlikely(ttm_vm_ops == NULL)) { +- ttm_vm_ops = vma->vm_ops; +- amdgpu_ttm_vm_ops = *ttm_vm_ops; +- amdgpu_ttm_vm_ops.open = &amdgpu_ttm_vm_open; +- } +- vma->vm_ops = &amdgpu_ttm_vm_ops; +- +- return 0; +-} +- + int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma) + { + struct drm_file *file_priv; +@@ -1728,7 +1687,7 @@ int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma) + if (adev == NULL) + return -EINVAL; + +- return amdgpu_bo_mmap(filp, vma, &adev->mman.bdev); ++ return ttm_bo_mmap(filp, vma, &adev->mman.bdev); + } + + static int amdgpu_map_buffer(struct ttm_buffer_object *bo, +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h +index 4a8384c..7cb2f17 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h +@@ -96,8 +96,6 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo, + struct dma_fence **fence); + + int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma); +-int amdgpu_bo_mmap(struct file *filp, struct vm_area_struct *vma, +- struct ttm_bo_device *bdev); + int amdgpu_ttm_bind(struct ttm_buffer_object *bo); + int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo); + int amdgpu_ttm_recover_gart(struct ttm_buffer_object *tbo); +diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h +index 877d966..4547a22 100644 +--- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h ++++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h +@@ -370,7 +370,6 @@ struct kfd2kgd_calls { + uint8_t element_size, uint8_t index_stride, uint8_t mtype); + void (*get_cu_info)(struct kgd_dev *kgd, + struct kfd_cu_info *cu_info); +- int (*mmap_bo)(struct kgd_dev *kgd, struct vm_area_struct *vma); + int (*map_gtt_bo_to_kernel)(struct kgd_dev *kgd, + struct kgd_mem *mem, void **kptr); + void (*set_vm_context_page_table_base)(struct kgd_dev *kgd, uint32_t vmid, +-- +2.7.4 + |