drm/amdkfd: Remove redundant kfd2kgd interface lookup
authorFelix Kuehling <Felix.Kuehling@amd.com>
Wed, 1 Jul 2020 02:28:58 +0000 (22:28 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 8 Jul 2020 13:02:54 +0000 (09:02 -0400)
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: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Kent Russell <kent.russell@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_pasid.c

index 33b08ff00b5012f9741209e43d0c5d21e644e6ec..2a07c4f2cd0dbd8a18a5020be21a95e9735443a1 100644 (file)
@@ -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);
+       amdgpu_pasid_free(pasid);
 }