aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1673-drm-amdkfd-Reuse-code-for-mapping-bo-to-kernel-addre.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1673-drm-amdkfd-Reuse-code-for-mapping-bo-to-kernel-addre.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1673-drm-amdkfd-Reuse-code-for-mapping-bo-to-kernel-addre.patch157
1 files changed, 0 insertions, 157 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1673-drm-amdkfd-Reuse-code-for-mapping-bo-to-kernel-addre.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1673-drm-amdkfd-Reuse-code-for-mapping-bo-to-kernel-addre.patch
deleted file mode 100644
index db3bda38..00000000
--- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1673-drm-amdkfd-Reuse-code-for-mapping-bo-to-kernel-addre.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From f57e953015406393b1d6cc16d4cff02d9376ffcc Mon Sep 17 00:00:00 2001
-From: Yong Zhao <Yong.Zhao@amd.com>
-Date: Thu, 27 Apr 2017 18:20:30 -0400
-Subject: [PATCH 1673/4131] drm/amdkfd: Reuse code for mapping bo to kernel
- address
-
-Change-Id: Ied01fa07ae5e140a791b372311cd23ba7d3e4e78
-Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 101 ++++++++++-------------
- 1 file changed, 42 insertions(+), 59 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-index 9cb51dd..bb1f7a6 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-@@ -557,6 +557,40 @@ static int init_user_pages(struct kgd_mem *mem, struct mm_struct *mm,
- return ret;
- }
-
-+static int __map_bo_to_kernel(struct amdgpu_bo *bo, u32 domain, void **kptr)
-+{
-+ int ret;
-+
-+ ret = amdgpu_bo_reserve(bo, true);
-+ if (ret) {
-+ pr_err("Failed to reserve bo. ret %d\n", ret);
-+ return ret;
-+ }
-+
-+ ret = amdgpu_bo_pin(bo, domain, NULL);
-+ if (ret) {
-+ pr_err("Failed to pin bo. ret %d\n", ret);
-+ goto pin_failed;
-+ }
-+
-+ ret = amdgpu_bo_kmap(bo, kptr);
-+ if (ret) {
-+ pr_err("Failed to map bo to kernel. ret %d\n", ret);
-+ goto kmap_failed;
-+ }
-+
-+ amdgpu_bo_unreserve(bo);
-+
-+ return ret;
-+
-+kmap_failed:
-+ amdgpu_bo_unpin(bo);
-+pin_failed:
-+ amdgpu_bo_unreserve(bo);
-+
-+ return ret;
-+}
-+
- static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- uint64_t size, void *vm, struct kgd_mem **mem,
- uint64_t *offset, void **kptr,
-@@ -644,28 +678,9 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- bo->flags |= AMDGPU_AMDKFD_USERPTR_BO;
-
- if (kptr) {
-- ret = amdgpu_bo_reserve(bo, true);
-- if (ret) {
-- pr_err("Failed to reserve bo. ret %d\n", ret);
-- goto allocate_mem_reserve_bo_failed;
-- }
--
-- ret = amdgpu_bo_pin(bo, domain,
-- NULL);
-- if (ret) {
-- pr_err("Failed to pin bo. ret %d\n", ret);
-- goto allocate_mem_pin_bo_failed;
-- }
--
-- ret = amdgpu_bo_kmap(bo, kptr);
-- if (ret) {
-- pr_err("Failed to map bo to kernel. ret %d\n",
-- ret);
-- goto allocate_mem_kmap_bo_failed;
-- }
-- (*mem)->kptr = *kptr;
--
-- amdgpu_bo_unreserve(bo);
-+ ret = __map_bo_to_kernel(bo, domain, kptr);
-+ if (ret)
-+ goto map_bo_to_kernel_failed;
- }
-
- (*mem)->va = va;
-@@ -689,12 +704,7 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
-
- return 0;
-
--allocate_mem_kmap_bo_failed:
-- amdgpu_bo_unpin(bo);
--allocate_mem_pin_bo_failed:
-- amdgpu_bo_unreserve(bo);
--allocate_mem_reserve_bo_failed:
--
-+map_bo_to_kernel_failed:
- allocate_init_user_pages_failed:
- amdgpu_bo_unref(&bo);
- err_bo_create:
-@@ -1615,46 +1625,19 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd,
- struct kgd_mem *mem, void **kptr)
- {
- int ret;
-- struct amdgpu_device *adev;
- struct amdgpu_bo *bo;
-
-- adev = get_amdgpu_device(kgd);
--
- mutex_lock(&mem->lock);
-
- bo = mem->bo;
-- /* map the buffer */
-- ret = amdgpu_bo_reserve(bo, true);
-- if (ret) {
-- pr_err("Failed to reserve bo. ret %d\n", ret);
-- mutex_unlock(&mem->lock);
-- return ret;
-- }
-
-- ret = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT,
-- NULL);
-- if (ret) {
-- pr_err("Failed to pin bo. ret %d\n", ret);
-- amdgpu_bo_unreserve(bo);
-- mutex_unlock(&mem->lock);
-- return ret;
-- }
--
-- ret = amdgpu_bo_kmap(bo, kptr);
-- if (ret) {
-- pr_err("Failed to map bo to kernel. ret %d\n", ret);
-- amdgpu_bo_unpin(bo);
-- amdgpu_bo_unreserve(bo);
-- mutex_unlock(&mem->lock);
-- return ret;
-- }
--
-- mem->kptr = *kptr;
-+ ret = __map_bo_to_kernel(bo, AMDGPU_GEM_DOMAIN_GTT, kptr);
-+ if (!ret)
-+ mem->kptr = *kptr;
-
-- amdgpu_bo_unreserve(bo);
- mutex_unlock(&mem->lock);
-
-- return 0;
-+ return ret;
- }
-
- static int pin_bo_wo_map(struct kgd_mem *mem)
---
-2.7.4
-