[PATCH] drm/amdkfd: remove kfd_queue_buffer_put() wrapper

From: Kunal Zodape

Date: Tue Jul 14 2026 - 05:57:12 EST


kfd_queue_buffer_put() was a trivial one-line wrapper that simply
forwarded its argument to amdgpu_bo_unref(). A FIXME comment already
noted that callers should invoke amdgpu_bo_unref() directly.

Drop the wrapper and its declaration, and call amdgpu_bo_unref()
directly at all call sites. No functional change intended.

Signed-off-by: Kunal Zodape <kunal.devanandzodape@xxxxxxx>
---
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1 -
.../drm/amd/amdkfd/kfd_process_queue_manager.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_queue.c | 16 +++++-----------
3 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
index 448b013f8..05127efc3 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
@@ -1367,7 +1367,6 @@ void print_queue_properties(struct queue_properties *q);
void print_queue(struct queue *q);
int kfd_queue_buffer_get(struct amdgpu_vm *vm, void __user *addr, struct amdgpu_bo **pbo,
u64 expected_size);
-void kfd_queue_buffer_put(struct amdgpu_bo **bo);
int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_properties *properties);
int kfd_queue_release_buffers(struct kfd_process_device *pdd, struct queue_properties *properties);
void kfd_queue_unref_bo_va(struct amdgpu_vm *vm, struct amdgpu_bo **bo);
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
index feb70face..a9375f7a2 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
@@ -604,7 +604,7 @@ int pqm_update_queue_properties(struct process_queue_manager *pqm,
}

kfd_queue_unref_bo_va(vm, &pqn->q->properties.ring_bo);
- kfd_queue_buffer_put(&pqn->q->properties.ring_bo);
+ amdgpu_bo_unref(&pqn->q->properties.ring_bo);
amdgpu_bo_unreserve(vm->root.bo);

pqn->q->properties.ring_bo = p->ring_bo;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_queue.c b/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
index 9d4838461..df65c15d8 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
@@ -224,12 +224,6 @@ int kfd_queue_buffer_get(struct amdgpu_vm *vm, void __user *addr, struct amdgpu_
return -EINVAL;
}

-/* FIXME: remove this function, just call amdgpu_bo_unref directly */
-void kfd_queue_buffer_put(struct amdgpu_bo **bo)
-{
- amdgpu_bo_unref(bo);
-}
-
int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_properties *properties)
{
struct kfd_topology_device *topo_dev;
@@ -346,11 +340,11 @@ int kfd_queue_release_buffers(struct kfd_process_device *pdd, struct queue_prope
struct kfd_topology_device *topo_dev;
u32 total_cwsr_size;

- kfd_queue_buffer_put(&properties->wptr_bo);
- kfd_queue_buffer_put(&properties->rptr_bo);
- kfd_queue_buffer_put(&properties->ring_bo);
- kfd_queue_buffer_put(&properties->eop_buf_bo);
- kfd_queue_buffer_put(&properties->cwsr_bo);
+ amdgpu_bo_unref(&properties->wptr_bo);
+ amdgpu_bo_unref(&properties->rptr_bo);
+ amdgpu_bo_unref(&properties->ring_bo);
+ amdgpu_bo_unref(&properties->eop_buf_bo);
+ amdgpu_bo_unref(&properties->cwsr_bo);

topo_dev = kfd_topology_device_by_id(pdd->dev->id);
if (!topo_dev)
--
2.17.1