Commit 06bc18e0 authored by Philipp Stanner's avatar Philipp Stanner
Browse files

amd/amdkfd: Use dma_fence_check_and_signal()



amdkfd is one of the few users which relies on the return code of
dma_fence_signal(), which, so far, informs the caller whether the fence
had already been signaled.

As there are barely any users, dma_fence signaling functions shall get
the return value void. To do so, the few users must be ported to a
function which preserves the old behavior.

Replace the call to dma_fence_signal() with one to
dma_fence_check_and_signal().

Suggested-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarFelix Kuehling <felix.kuehling@amd.com>
Signed-off-by: default avatarPhilipp Stanner <phasta@kernel.org>
Link: https://patch.msgid.link/20251201105011.19386-5-phasta@kernel.org
parent c891b99d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1987,10 +1987,10 @@ kfd_process_gpuid_from_node(struct kfd_process *p, struct kfd_node *node,
	return -EINVAL;
}

static int signal_eviction_fence(struct kfd_process *p)
static bool signal_eviction_fence(struct kfd_process *p)
{
	struct dma_fence *ef;
	int ret;
	bool ret;

	rcu_read_lock();
	ef = dma_fence_get_rcu_safe(&p->ef);
@@ -1998,7 +1998,7 @@ static int signal_eviction_fence(struct kfd_process *p)
	if (!ef)
		return -EINVAL;

	ret = dma_fence_signal(ef);
	ret = dma_fence_check_and_signal(ef);
	dma_fence_put(ef);

	return ret;