aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1563-drm-amdgpu-Improve-debug-information-for-kfd-memory-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1563-drm-amdgpu-Improve-debug-information-for-kfd-memory-.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1563-drm-amdgpu-Improve-debug-information-for-kfd-memory-.patch755
1 files changed, 0 insertions, 755 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1563-drm-amdgpu-Improve-debug-information-for-kfd-memory-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1563-drm-amdgpu-Improve-debug-information-for-kfd-memory-.patch
deleted file mode 100644
index 0a4214a3..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1563-drm-amdgpu-Improve-debug-information-for-kfd-memory-.patch
+++ /dev/null
@@ -1,755 +0,0 @@
-From 2319e32ad11ff2b5f126efbb39506ab67ade7515 Mon Sep 17 00:00:00 2001
-From: Yong Zhao <yong.zhao@amd.com>
-Date: Wed, 23 Nov 2016 17:44:25 -0500
-Subject: [PATCH 1563/4131] drm/amdgpu: Improve debug information for kfd
- memory management
-
-Change-Id: Icc557cb53e3ee581a028b3cf585f546626de124e
-Signed-off-by: Yong Zhao <yong.zhao@amd.com>
-
- Conflicts:
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 4 +-
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 12 +-
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 12 +-
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 196 ++++++++++++----------
- 4 files changed, 127 insertions(+), 97 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
-index f425878..07150a6 100755
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
-@@ -20,6 +20,8 @@
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-+#define pr_fmt(fmt) "kfd2kgd: " fmt
-+
- #include "amdgpu_amdkfd.h"
- #include <linux/dma-buf.h>
- #include <drm/drmP.h>
-@@ -435,7 +437,7 @@ void get_local_mem_info(struct kgd_dev *kgd,
- }
- mem_info->vram_width = adev->mc.vram_width;
-
-- pr_debug("amdgpu: address base: 0x%llx limit 0x%llx public 0x%llx private 0x%llx\n",
-+ pr_debug("Address base: 0x%llx limit 0x%llx public 0x%llx private 0x%llx\n",
- adev->mc.aper_base, aper_limit,
- mem_info->local_mem_size_public,
- mem_info->local_mem_size_private);
-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 4896541..cebf03a 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
-@@ -20,6 +20,8 @@
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-+#define pr_fmt(fmt) "kfd2kgd: " fmt
-+
- #include <linux/fdtable.h>
- #include <linux/uaccess.h>
- #include <linux/firmware.h>
-@@ -356,7 +358,7 @@ static inline uint32_t get_sdma_base_addr(struct cik_sdma_rlc_registers *m)
-
- retval = m->sdma_engine_id * SDMA1_REGISTER_OFFSET +
- m->sdma_queue_id * KFD_CIK_SDMA_QUEUE_OFFSET;
-- pr_debug("kfd: sdma base address: 0x%x\n", retval);
-+ pr_debug("sdma base address: 0x%x\n", retval);
-
- return retval;
- }
-@@ -622,7 +624,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd,
- break;
- loop:
- if (!retry) {
-- pr_err("kfd: CP HQD IQ timer status time out\n");
-+ pr_err("CP HQD IQ timer status time out\n");
- break;
- }
- ndelay(100);
-@@ -636,7 +638,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd,
- pr_debug("Dequeue request is pending\n");
-
- if (!retry) {
-- pr_err("kfd: CP HQD dequeue request time out\n");
-+ pr_err("CP HQD dequeue request time out\n");
- break;
- }
- ndelay(100);
-@@ -653,7 +655,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd,
- if (!(temp & CP_HQD_ACTIVE__ACTIVE_MASK))
- break;
- if (time_after(jiffies, end_jiffies)) {
-- pr_err("kfd: cp queue preemption time out\n");
-+ pr_err("cp queue preemption time out\n");
- release_queue(kgd);
- return -ETIME;
- }
-@@ -912,7 +914,7 @@ static void set_vm_context_page_table_base(struct kgd_dev *kgd, uint32_t vmid,
- struct amdgpu_device *adev = get_amdgpu_device(kgd);
- /* TODO: Don't use hardcoded VMIDs */
- if (vmid < 8 || vmid > 15) {
-- pr_err("amdkfd: trying to set page table base for wrong VMID\n");
-+ pr_err("trying to set page table base for wrong VMID\n");
- return;
- }
- WREG32(mmVM_CONTEXT8_PAGE_TABLE_BASE_ADDR + vmid - 8, page_table_base);
-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 60dafce..da6a243 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
-@@ -20,6 +20,8 @@
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-+#define pr_fmt(fmt) "kfd2kgd: " fmt
-+
- #include <linux/module.h>
- #include <linux/fdtable.h>
- #include <linux/uaccess.h>
-@@ -348,7 +350,7 @@ static inline uint32_t get_sdma_base_addr(struct vi_sdma_mqd *m)
-
- retval = m->sdma_engine_id * SDMA1_REGISTER_OFFSET +
- m->sdma_queue_id * KFD_VI_SDMA_QUEUE_OFFSET;
-- pr_debug("kfd: sdma base address: 0x%x\n", retval);
-+ pr_debug("sdma base address: 0x%x\n", retval);
-
- return retval;
- }
-@@ -634,7 +636,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd,
- break;
- loop:
- if (!retry) {
-- pr_err("kfd: CP HQD IQ timer status time out\n");
-+ pr_err("CP HQD IQ timer status time out\n");
- break;
- }
- ndelay(100);
-@@ -648,7 +650,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd,
- pr_debug("Dequeue request is pending\n");
-
- if (!retry) {
-- pr_err("kfd: CP HQD dequeue request time out\n");
-+ pr_err("CP HQD dequeue request time out\n");
- break;
- }
- ndelay(100);
-@@ -665,7 +667,7 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd,
- if (!(temp & CP_HQD_ACTIVE__ACTIVE_MASK))
- break;
- if (time_after(jiffies, end_jiffies)) {
-- pr_err("kfd: cp queue preemption time out.\n");
-+ pr_err("cp queue preemption time out.\n");
- release_queue(kgd);
- return -ETIME;
- }
-@@ -918,7 +920,7 @@ static void set_vm_context_page_table_base(struct kgd_dev *kgd, uint32_t vmid,
- struct amdgpu_device *adev = get_amdgpu_device(kgd);
- /* TODO: Don't use hardcoded VMIDs */
- if (vmid < 8 || vmid > 15) {
-- pr_err("amdkfd: trying to set page table base for wrong VMID\n");
-+ pr_err("trying to set page table base for wrong VMID\n");
- return;
- }
- WREG32(mmVM_CONTEXT8_PAGE_TABLE_BASE_ADDR + vmid - 8, page_table_base);
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-index ec63c82..7c6f8ed 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-@@ -20,6 +20,8 @@
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-+#define pr_fmt(fmt) "kfd2kgd: " fmt
-+
- #include <linux/module.h>
- #include <linux/fdtable.h>
- #include <linux/uaccess.h>
-@@ -60,6 +62,17 @@ struct amdgpu_vm_parser {
- bool wait;
- };
-
-+static const char * const domain_bit_to_string[] = {
-+ "CPU",
-+ "GTT",
-+ "VRAM",
-+ "GDS",
-+ "GWS",
-+ "OA"
-+};
-+
-+#define domain_string(domain) domain_bit_to_string[ffs(domain)-1]
-+
-
- static inline struct amdgpu_device *get_amdgpu_device(struct kgd_dev *kgd)
- {
-@@ -304,9 +317,10 @@ static int add_bo_to_vm(struct amdgpu_device *adev, struct kgd_mem *mem,
- struct amdgpu_bo *bo = mem->bo;
- uint64_t va = mem->va;
- struct list_head *list_bo_va = &mem->bo_va_list;
-+ unsigned long bo_size = bo->tbo.mem.size;
-
- if (is_aql)
-- va += bo->tbo.mem.size;
-+ va += bo_size;
-
- bo_va_entry = kzalloc(sizeof(*bo_va_entry), GFP_KERNEL);
- if (!bo_va_entry)
-@@ -314,14 +328,14 @@ static int add_bo_to_vm(struct amdgpu_device *adev, struct kgd_mem *mem,
-
- BUG_ON(va == 0);
-
-- pr_debug("amdkfd: adding bo_va to bo %p and va 0x%llx id 0x%x\n",
-- bo, va, adev->dev->id);
-+ pr_debug("\t add VA 0x%llx - 0x%llx to vm %p\n", va,
-+ va + bo_size, avm);
-
- /* Add BO to VM internal data structures*/
- bo_va_entry->bo_va = amdgpu_vm_bo_add(adev, avm, bo);
- if (bo_va_entry->bo_va == NULL) {
- ret = -EINVAL;
-- pr_err("amdkfd: Failed to add BO object to VM. ret == %d\n",
-+ pr_err("Failed to add BO object to VM. ret == %d\n",
- ret);
- goto err_vmadd;
- }
-@@ -341,8 +355,11 @@ static int add_bo_to_vm(struct amdgpu_device *adev, struct kgd_mem *mem,
- }
-
- static void remove_bo_from_vm(struct amdgpu_device *adev,
-- struct kfd_bo_va_list *entry)
-+ struct kfd_bo_va_list *entry, unsigned long size)
- {
-+ pr_debug("\t remove VA 0x%llx - 0x%llx in entry %p\n",
-+ entry->va,
-+ entry->va + size, entry);
- amdgpu_vm_bo_rmv(adev, entry->bo_va);
- list_del(&entry->bo_list);
- kfree(entry);
-@@ -410,7 +427,7 @@ static int amdgpu_amdkfd_bo_invalidate(struct amdgpu_bo *bo)
- amdgpu_ttm_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_CPU);
- ret = ttm_bo_validate(&bo->tbo, &bo->placement, true, false);
- if (ret != 0)
-- pr_err("amdgpu: failed to invalidate userptr BO\n");
-+ pr_err("Failed to invalidate userptr BO\n");
- }
- return ret;
- }
-@@ -435,7 +452,7 @@ static int validate_pt_pd_bos(struct amdgpu_vm *vm)
- ret = amdgpu_amdkfd_bo_validate(bo, AMDGPU_GEM_DOMAIN_VRAM,
- true);
- if (ret != 0) {
-- pr_err("amdgpu: failed to validate PTE %d\n", i);
-+ pr_err("Failed to validate PTE %d\n", i);
- break;
- }
- }
-@@ -443,7 +460,7 @@ static int validate_pt_pd_bos(struct amdgpu_vm *vm)
- ret = amdgpu_amdkfd_bo_validate(pd, AMDGPU_GEM_DOMAIN_VRAM,
- true);
- if (ret != 0) {
-- pr_err("amdgpu: failed to validate PD\n");
-+ pr_err("Failed to validate PD\n");
- return ret;
- }
-
-@@ -579,15 +596,15 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- (*mem)->pte_flags = pte_flags;
-
- alloc_domain = userptr ? AMDGPU_GEM_DOMAIN_CPU : domain;
-- pr_debug("amdkfd: allocating BO on domain %d with size %llu\n",
-- alloc_domain, size);
-
- ret = amdgpu_amdkfd_reserve_system_mem_limit(adev, size, alloc_domain);
- if (ret) {
-- pr_err("amdkfd: Insufficient system memory\n");
-+ pr_err("Insufficient system memory\n");
- goto err_bo_create;
- }
-
-+ pr_debug("\t create BO VA 0x%llx size 0x%llx domain %s\n",
-+ va, size, domain_string(alloc_domain));
-
- /* Allocate buffer object. Userptr objects need to start out
- * in the CPU domain, get moved to GTT when pinned. */
-@@ -595,8 +612,8 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- alloc_domain,
- flags, sg, NULL, &bo);
- if (ret != 0) {
-- pr_err("amdkfd: failed to create BO on domain %d. ret %d\n",
-- alloc_domain, ret);
-+ pr_err("Failed to create BO on domain %s. ret %d\n",
-+ domain_string(alloc_domain), ret);
- goto err_bo_create;
- }
- bo->kfd_bo = *mem;
-@@ -605,34 +622,30 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- if (domain == AMDGPU_GEM_DOMAIN_VRAM) {
- ret = amdgpu_bo_reserve(bo, true);
- if (ret) {
-- dev_err(adev->dev,
-- "(%d) failed to reserve bo for amdkfd\n", ret);
-+ pr_err("Failed to reserve bo. ret %d\n",
-+ ret);
- goto err_bo_clear;
- }
- ret = amdgpu_amdkfd_gpuvm_clear_bo(adev, vm, bo);
- amdgpu_bo_unreserve(bo);
- if (ret) {
-- pr_err("amdkfd: failed to clear VRAM BO object. ret %d\n",
-+ pr_err("Failed to clear VRAM BO object. ret %d\n",
- ret);
- goto err_bo_clear;
- }
- }
-
-- pr_debug("amdkfd: created BO on domain %d with size %llu\n",
-- alloc_domain, size);
--
- if (userptr) {
- ret = amdgpu_ttm_tt_set_userptr(bo->tbo.ttm, user_addr, 0);
- if (ret) {
-- dev_err(adev->dev,
-- "(%d) failed to set userptr\n", ret);
-+ pr_err("Failed to set userptr. ret %d\n", ret);
- goto allocate_mem_set_userptr_failed;
- }
-
- ret = amdgpu_mn_register(bo, user_addr);
- if (ret) {
-- dev_err(adev->dev,
-- "(%d) failed to register MMU notifier\n", ret);
-+ pr_err("Failed to register MMU notifier %d\n",
-+ ret);
- goto allocate_mem_set_userptr_failed;
- }
- }
-@@ -640,21 +653,21 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- if (kptr) {
- ret = amdgpu_bo_reserve(bo, true);
- if (ret) {
-- dev_err(adev->dev, "(%d) failed to reserve bo for amdkfd\n", 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) {
-- dev_err(adev->dev, "(%d) failed to pin bo for amdkfd\n", 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) {
-- dev_err(adev->dev,
-- "(%d) failed to map bo to kernel for amdkfd\n", ret);
-+ pr_err("Failed to map bo to kernel. ret %d\n",
-+ ret);
- goto allocate_mem_kmap_bo_failed;
- }
- (*mem)->kptr = *kptr;
-@@ -750,7 +763,7 @@ static int reserve_bo_and_vm(struct kgd_mem *mem,
- if (!ret)
- ctx->reserved = true;
- else
-- pr_err("amdkfd: Failed to reserve buffers in ttm\n");
-+ pr_err("Failed to reserve buffers in ttm\n");
-
- if (ret) {
- kfree(ctx->vm_pd);
-@@ -840,7 +853,7 @@ static int reserve_bo_and_cond_vms(struct kgd_mem *mem,
- if (!ret)
- ctx->reserved = true;
- else
-- pr_err("amdkfd: Failed to reserve buffers in ttm\n");
-+ pr_err("Failed to reserve buffers in ttm.\n");
-
- if (ret) {
- kfree(ctx->vm_pd);
-@@ -978,14 +991,14 @@ static int update_gpuvm_pte(struct amdgpu_device *adev, struct amdgpu_bo *bo,
- /* Validate PT / PTs */
- ret = validate_pt_pd_bos(vm);
- if (ret != 0) {
-- pr_err("amdkfd: Failed to validate_pt_pd_bos\n");
-+ pr_err("validate_pt_pd_bos failed\n");
- return ret;
- }
-
- /* Update the page directory */
- ret = amdgpu_vm_update_page_directory(adev, vm);
- if (ret != 0) {
-- pr_err("amdkfd: Failed to amdgpu_vm_update_page_directory\n");
-+ pr_err("amdgpu_vm_update_page_directory failed\n");
- return ret;
- }
-
-@@ -994,7 +1007,7 @@ static int update_gpuvm_pte(struct amdgpu_device *adev, struct amdgpu_bo *bo,
- /* Update the page tables */
- ret = amdgpu_vm_bo_update(adev, bo_va, &bo->tbo.mem);
- if (ret != 0) {
-- pr_err("amdkfd: Failed to amdgpu_vm_bo_update\n");
-+ pr_err("amdgpu_vm_bo_update failed\n");
- return ret;
- }
-
-@@ -1021,14 +1034,14 @@ static int map_bo_to_gpuvm(struct amdgpu_device *adev, struct amdgpu_bo *bo,
- entry->va, 0, amdgpu_bo_size(bo),
- pte_flags);
- if (ret != 0) {
-- pr_err("amdkfd: Failed to map bo in vm. ret == %d (0x%llx)\n",
-- ret, entry->va);
-+ pr_err("Failed to map VA 0x%llx in vm. ret %d\n",
-+ entry->va, ret);
- return ret;
- }
-
- ret = update_gpuvm_pte(adev, bo, entry, sync);
- if (ret != 0) {
-- pr_err("amdkfd: update_gpuvm_pte() failed\n");
-+ pr_err("update_gpuvm_pte() failed\n");
- goto update_gpuvm_pte_failed;
- }
-
-@@ -1072,7 +1085,7 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
- struct sg_table *sg = NULL;
-
- if (!(flags & ALLOC_MEM_FLAGS_NONPAGED)) {
-- pr_err("amdgpu: current hw doesn't support paged memory\n");
-+ pr_err("current hw doesn't support paged memory\n");
- return -EINVAL;
- }
-
-@@ -1088,7 +1101,7 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
- userptr = (flags & ALLOC_MEM_FLAGS_USERPTR) ? true : false;
-
- if (userptr && kptr) {
-- pr_err("amdgpu: userptr can't be mapped to kernel\n");
-+ pr_err("userptr can't be mapped to kernel\n");
- return -EINVAL;
- }
-
-@@ -1120,14 +1133,14 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
- if (offset && !userptr)
- *offset = 0;
-
-- pr_debug("amdgpu: allocating BO domain %d alloc_flag 0x%llu public %s readonly %s execute %s no substitue %s va 0x%llx\n",
-- domain,
-- alloc_flag,
-- BOOL_TO_STR(public),
-- BOOL_TO_STR(readonly),
-- BOOL_TO_STR(execute),
-- BOOL_TO_STR(no_sub),
-- va);
-+ pr_debug("Allocate VA 0x%llx - 0x%llx domain %s aql %s\n",
-+ va, va + size, domain_string(domain),
-+ BOOL_TO_STR(aql_queue));
-+
-+ pr_debug("\t alloc_flag 0x%llx public %s readonly %s execute %s no_sub %s\n",
-+ alloc_flag, BOOL_TO_STR(public),
-+ BOOL_TO_STR(readonly), BOOL_TO_STR(execute),
-+ BOOL_TO_STR(no_sub));
-
- return __alloc_memory_of_gpu(kgd, va, size, vm, mem,
- temp_offset, kptr, domain,
-@@ -1145,6 +1158,7 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
- int ret;
- struct amdgpu_bo_list_entry *bo_list_entry;
- struct amdkfd_vm *master_vm;
-+ unsigned long bo_size;
-
- BUG_ON(kgd == NULL);
- BUG_ON(mem == NULL);
-@@ -1154,11 +1168,13 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
- master_vm = ((struct amdkfd_vm *)vm)->master;
- BUG_ON(master_vm == NULL);
-
-+ bo_size = mem->bo->tbo.mem.size;
-+
- mutex_lock(&mem->lock);
-
- if (mem->mapped_to_gpu_memory > 0) {
-- pr_err("BO with size %lu bytes is mapped to GPU. Need to unmap it before release va 0x%llx\n",
-- mem->bo->tbo.mem.size, mem->va);
-+ pr_err("BO VA 0x%llx size 0x%lx is already mapped to vm %p.\n",
-+ mem->va, bo_size, vm);
- mutex_unlock(&mem->lock);
- return -EBUSY;
- }
-@@ -1181,15 +1197,13 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
- */
- amdgpu_amdkfd_remove_eviction_fence(mem->bo, master_vm->eviction_fence,
- NULL, NULL);
-- pr_debug("Releasing BO with VA 0x%llx, size %lu bytes\n",
-- mem->va,
-- mem->bo->tbo.mem.size);
-+ pr_debug("Release VA 0x%llx - 0x%llx\n", mem->va,
-+ mem->va + bo_size * (1 + mem->aql_queue));
-
- /* Remove from VM internal data structures */
- list_for_each_entry_safe(entry, tmp, &mem->bo_va_list, bo_list) {
-- pr_debug("\t remove from amdgpu_bo_va %p\n", entry->bo_va);
- remove_bo_from_vm((struct amdgpu_device *)entry->kgd_dev,
-- entry);
-+ entry, bo_size);
- }
-
- unreserve_bo_and_vms(&ctx, false);
-@@ -1227,6 +1241,7 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
- struct kfd_bo_va_list *bo_va_entry_aql = NULL;
- struct amdkfd_vm *kfd_vm = (struct amdkfd_vm *)vm;
- int num_to_quiesce = 0;
-+ unsigned long bo_size;
-
- BUG_ON(kgd == NULL);
- BUG_ON(mem == NULL);
-@@ -1240,17 +1255,18 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
- BUG_ON(bo == NULL);
-
- domain = mem->domain;
-+ bo_size = bo->tbo.mem.size;
-
-- pr_debug("amdgpu: try to map VA 0x%llx domain %d\n",
-- mem->va, domain);
-+ pr_debug("Map VA 0x%llx - 0x%llx to vm %p domain %s\n",
-+ mem->va,
-+ mem->va + bo_size * (1 + mem->aql_queue),
-+ vm, domain_string(domain));
-
- ret = reserve_bo_and_vm(mem, vm, &ctx);
- if (unlikely(ret != 0))
- goto bo_reserve_failed;
-
- if (check_if_add_bo_to_vm((struct amdgpu_vm *)vm, mem)) {
-- pr_debug("amdkfd: add new BO_VA to list 0x%llx\n",
-- mem->va);
- ret = add_bo_to_vm(adev, mem, (struct amdgpu_vm *)vm, false,
- &bo_va_entry);
- if (ret != 0)
-@@ -1265,14 +1281,16 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
-
- if (!mem->evicted) {
- ret = update_user_pages(mem, current->mm, &ctx);
-- if (ret != 0)
-+ if (ret != 0) {
-+ pr_err("update_user_pages failed\n");
- goto update_user_pages_failed;
-+ }
- }
-
- if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) {
- ret = amdgpu_amdkfd_bo_validate(bo, domain, true);
- if (ret) {
-- pr_debug("amdkfd: userptr: Validate failed\n");
-+ pr_debug("userptr: Validate failed\n");
- goto map_bo_to_gpuvm_failed;
- }
- } else if (mem->mapped_to_gpu_memory == 0) {
-@@ -1282,7 +1300,7 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
- */
- ret = amdgpu_amdkfd_bo_validate(bo, domain, true);
- if (ret) {
-- pr_debug("amdkfd: Validate failed\n");
-+ pr_debug("Validate failed\n");
- goto map_bo_to_gpuvm_failed;
- }
- }
-@@ -1301,18 +1319,19 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
- continue;
- }
-
-- pr_debug("amdkfd: Trying to map VA 0x%llx to vm %p\n",
-- mem->va, vm);
-+ pr_debug("\t map VA 0x%llx - 0x%llx in entry %p\n",
-+ entry->va, entry->va + bo_size,
-+ entry);
-
- ret = map_bo_to_gpuvm(adev, bo, entry, mem->pte_flags,
- &ctx.sync);
- if (ret != 0) {
-- pr_err("amdkfd: Failed to map radeon bo to gpuvm\n");
-+ pr_err("Failed to map radeon bo to gpuvm\n");
- goto map_bo_to_gpuvm_failed;
- }
- entry->is_mapped = true;
- mem->mapped_to_gpu_memory++;
-- pr_debug("amdgpu: INC mapping count %d\n",
-+ pr_debug("\t INC mapping count %d\n",
- mem->mapped_to_gpu_memory);
- }
- }
-@@ -1341,10 +1360,10 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
- map_bo_to_gpuvm_failed:
- update_user_pages_failed:
- if (bo_va_entry_aql)
-- remove_bo_from_vm(adev, bo_va_entry_aql);
-+ remove_bo_from_vm(adev, bo_va_entry_aql, bo_size);
- add_bo_to_vm_failed_aql:
- if (bo_va_entry)
-- remove_bo_from_vm(adev, bo_va_entry);
-+ remove_bo_from_vm(adev, bo_va_entry, bo_size);
- add_bo_to_vm_failed:
- unreserve_bo_and_vms(&ctx, false);
- bo_reserve_failed:
-@@ -1385,7 +1404,7 @@ int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, void **vm,
- /* Initialize the VM context, allocate the page directory and zero it */
- ret = amdgpu_vm_init(adev, &new_vm->base);
- if (ret != 0) {
-- pr_err("amdgpu: failed init vm ret %d\n", ret);
-+ pr_err("Failed init vm ret %d\n", ret);
- /* Undo everything related to the new VM context */
- goto vm_init_fail;
- }
-@@ -1411,8 +1430,7 @@ int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, void **vm,
- new_vm->master->n_vms++;
- *vm = (void *) new_vm;
-
-- pr_debug("amdgpu: created process vm with address 0x%llx\n",
-- get_vm_pd_gpu_offset(&new_vm->base));
-+ pr_debug("Created process vm %p\n", *vm);
-
- return ret;
-
-@@ -1434,7 +1452,7 @@ void amdgpu_amdkfd_gpuvm_destroy_process_vm(struct kgd_dev *kgd, void *vm)
- BUG_ON(kgd == NULL);
- BUG_ON(vm == NULL);
-
-- pr_debug("Destroying process vm with address %p\n", vm);
-+ pr_debug("Destroying process vm %p\n", vm);
- /* Release eviction fence from PD */
- pd = avm->page_directory;
- amdgpu_bo_reserve(pd, false);
-@@ -1493,6 +1511,7 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- struct bo_vm_reservation_context ctx;
- struct amdkfd_vm *master_vm;
- int num_to_resume = 0;
-+ unsigned long bo_size;
-
- BUG_ON(kgd == NULL);
- BUG_ON(mem == NULL);
-@@ -1500,6 +1519,8 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- adev = (struct amdgpu_device *) kgd;
- master_vm = ((struct amdkfd_vm *)vm)->master;
-
-+ bo_size = mem->bo->tbo.mem.size;
-+
- mutex_lock(&mem->lock);
-
- /*
-@@ -1511,8 +1532,8 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- }
-
- if (mem->mapped_to_gpu_memory == 0) {
-- pr_debug("BO size %lu bytes at va 0x%llx is not mapped\n",
-- mem->bo->tbo.mem.size, mem->va);
-+ pr_debug("BO VA 0x%llx size 0x%lx is not mapped to vm %p\n",
-+ mem->va, bo_size, vm);
- ret = -EINVAL;
- goto out;
- }
-@@ -1522,6 +1543,11 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- if (unlikely(ret != 0))
- goto out;
-
-+ pr_debug("Unmap VA 0x%llx - 0x%llx from vm %p\n",
-+ mem->va,
-+ mem->va + bo_size * (1 + mem->aql_queue),
-+ vm);
-+
- list_for_each_entry(entry, &mem->bo_va_list, bo_list) {
- if (entry->bo_va->vm == vm && entry->is_mapped) {
- if (mem->evicted) {
-@@ -1535,22 +1561,23 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- continue;
- }
-
-- pr_debug("unmapping BO with VA 0x%llx, size %lu bytes from GPU memory\n",
-- mem->va,
-- mem->bo->tbo.mem.size);
-+ pr_debug("\t unmap VA 0x%llx - 0x%llx from entry %p\n",
-+ entry->va,
-+ entry->va + bo_size,
-+ entry);
-
- ret = unmap_bo_from_gpuvm(adev, mem->bo,
- entry, &ctx.sync);
- if (ret == 0) {
- entry->is_mapped = false;
- } else {
-- pr_err("amdgpu: failed unmap va 0x%llx\n",
-+ pr_err("failed to unmap VA 0x%llx\n",
- mem->va);
- goto unreserve_out;
- }
-
- mem->mapped_to_gpu_memory--;
-- pr_debug("amdgpu: DEC mapping count %d\n",
-+ pr_debug("\t DEC mapping count %d\n",
- mem->mapped_to_gpu_memory);
- }
- }
-@@ -1564,10 +1591,8 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- NULL, NULL);
-
- if (mapped_before == mem->mapped_to_gpu_memory) {
-- pr_debug("BO size %lu bytes at va 0x%llx is not mapped on GPU %x:%x.%x\n",
-- mem->bo->tbo.mem.size, mem->va,
-- adev->pdev->bus->number, PCI_SLOT(adev->pdev->devfn),
-- PCI_FUNC(adev->pdev->devfn));
-+ pr_debug("BO VA 0x%llx size 0x%lx is not mapped to vm %p\n",
-+ mem->va, bo_size, vm);
- ret = -EINVAL;
- }
-
-@@ -1615,7 +1640,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd,
- /* map the buffer */
- ret = amdgpu_bo_reserve(bo, true);
- if (ret) {
-- dev_err(adev->dev, "(%d) failed to reserve bo for amdkfd\n", ret);
-+ pr_err("Failed to reserve bo. ret %d\n", ret);
- mutex_unlock(&mem->lock);
- return ret;
- }
-@@ -1623,7 +1648,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd,
- ret = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT,
- NULL);
- if (ret) {
-- dev_err(adev->dev, "(%d) failed to pin bo for amdkfd\n", ret);
-+ pr_err("Failed to pin bo. ret %d\n", ret);
- amdgpu_bo_unreserve(bo);
- mutex_unlock(&mem->lock);
- return ret;
-@@ -1631,8 +1656,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_dev *kgd,
-
- ret = amdgpu_bo_kmap(bo, kptr);
- if (ret) {
-- dev_err(adev->dev,
-- "(%d) failed to map bo to kernel for amdkfd\n", 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);
-@@ -1893,7 +1917,7 @@ int amdgpu_amdkfd_gpuvm_evict_mem(struct kgd_mem *mem, struct mm_struct *mm)
-
- r = kgd2kfd->quiesce_mm(adev->kfd, mm);
- if (r != 0) {
-- pr_err("failed to quiesce KFD\n");
-+ pr_err("Failed to quiesce KFD\n");
- goto fail;
- }
-
-@@ -1915,7 +1939,7 @@ int amdgpu_amdkfd_gpuvm_evict_mem(struct kgd_mem *mem, struct mm_struct *mm)
- r = unmap_bo_from_gpuvm(adev, mem->bo,
- entry, &ctx.sync);
- if (r != 0) {
-- pr_err("failed unmap va 0x%llx\n",
-+ pr_err("Failed unmap VA 0x%llx\n",
- mem->va);
- unreserve_bo_and_vms(&ctx, true);
- goto fail;
---
-2.7.4
-