From b63242ed2396483f29fe9befc25666c43ad04536 Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Tue, 31 Oct 2017 13:21:49 -0400 Subject: [PATCH 2136/4131] drm/amdgpu: inline __map_bo_to_kernel This function is only called from one place, so inline it there. This makes the next change easier. Change-Id: I28c6cd6cc68b09521a6a332d830c2b9abe2a995a Signed-off-by: Felix Kuehling --- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 66 +++++++++++------------- 1 file changed, 29 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c index 39b71cd..8deb247 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c @@ -625,40 +625,6 @@ 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, u32 domain, u64 flags, @@ -1679,10 +1645,36 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd, list_del_init(&mem->validate_list.head); - ret = __map_bo_to_kernel(bo, AMDGPU_GEM_DOMAIN_GTT, kptr); - if (!ret) - mem->kptr = *kptr; + ret = amdgpu_bo_reserve(bo, true); + if (ret) { + pr_err("Failed to reserve bo. ret %d\n", ret); + goto bo_reserve_failed; + } + + ret = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT, 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); + + mem->kptr = *kptr; + + mutex_unlock(&mem->process_info->lock); + return 0; + +kmap_failed: + amdgpu_bo_unpin(bo); +pin_failed: + amdgpu_bo_unreserve(bo); +bo_reserve_failed: mutex_unlock(&mem->process_info->lock); return ret; -- 2.7.4