drm/amdkfd: Fix getting unique_id in topology
authorKent Russell <kent.russell@amd.com>
Wed, 28 Oct 2020 12:03:31 +0000 (08:03 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 30 Oct 2020 04:59:42 +0000 (00:59 -0400)
Since the unique_id is now obtained in amdgpu in smu_late_init,
topology misses getting the value during KFD device initialization.
To work around this, we use amdgpu_amdkfd_get_unique_id to get
the unique_id at read time. Due to this, we can remove unique_id from
the kfd_dev structure, since we only need it in the KFD node properties
struct

Signed-off-by: Kent Russell <kent.russell@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_priv.h
drivers/gpu/drm/amd/amdkfd/kfd_topology.c

index 14c3f14..50922ff 100644 (file)
@@ -757,8 +757,6 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
 
        kfd->hive_id = amdgpu_amdkfd_get_hive_id(kfd->kgd);
 
-       kfd->unique_id = amdgpu_amdkfd_get_unique_id(kfd->kgd);
-
        kfd->noretry = amdgpu_amdkfd_get_noretry(kfd->kgd);
 
        if (kfd_interrupt_init(kfd)) {
index b7be5c5..e2ebd5a 100644 (file)
@@ -292,9 +292,6 @@ struct kfd_dev {
        /* xGMI */
        uint64_t hive_id;
 
-       /* UUID */
-       uint64_t unique_id;
-
        bool pci_atomic_requested;
 
        /* Use IOMMU v2 flag */
index 3f2aa05..a3fc238 100644 (file)
@@ -1340,7 +1340,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
                dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ?
                amdgpu_amdkfd_get_num_gws(dev->gpu->kgd) : 0;
        dev->node_props.num_cp_queues = get_cp_queues_num(dev->gpu->dqm);
-       dev->node_props.unique_id = gpu->unique_id;
+       dev->node_props.unique_id = amdgpu_amdkfd_get_unique_id(dev->gpu->kgd);
 
        kfd_fill_mem_clk_max_info(dev);
        kfd_fill_iolink_non_crat_info(dev);