Commit c1213911 authored by Felix Kuehling's avatar Felix Kuehling Committed by Alex Deucher
Browse files

drm/amdkfd: Remove redundant kfd2kgd interface lookup



kfd_pasid.c isn't using the kfd2kgd interface any more. Remove redundant
code trying to look up a device for finding that interface.

Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: default avatarKent Russell <kent.russell@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent fa4a8820
Loading
Loading
Loading
Loading
+8 −23
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@
#include "amdgpu_ids.h"

static unsigned int pasid_bits = 16;
static const struct kfd2kgd_calls *kfd2kgd;
static bool pasids_allocated; /* = false */

bool kfd_set_pasid_limit(unsigned int new_limit)
{
@@ -33,7 +33,7 @@ bool kfd_set_pasid_limit(unsigned int new_limit)
		return false;

	if (new_limit < (1U << pasid_bits)) {
		if (kfd2kgd)
		if (pasids_allocated)
			/* We've already allocated user PASIDs, too late to
			 * change the limit
			 */
@@ -53,32 +53,17 @@ unsigned int kfd_get_pasid_limit(void)

unsigned int kfd_pasid_alloc(void)
{
	int r;
	int r = amdgpu_pasid_alloc(pasid_bits);

	/* Find the first best KFD device for calling KGD */
	if (!kfd2kgd) {
		struct kfd_dev *dev = NULL;
		unsigned int i = 0;

		while ((kfd_topology_enum_kfd_devices(i, &dev)) == 0) {
			if (dev && dev->kfd2kgd) {
				kfd2kgd = dev->kfd2kgd;
				break;
			}
			i++;
		}

		if (!kfd2kgd)
			return false;
	if (r > 0) {
		pasids_allocated = true;
		return r;
	}

	r = amdgpu_pasid_alloc(pasid_bits);

	return r > 0 ? r : 0;
	return 0;
}

void kfd_pasid_free(unsigned int pasid)
{
	if (kfd2kgd)
	amdgpu_pasid_free(pasid);
}