drm/amdkfd: Populate memory info before adding GPU node to topology
authorMukul Joshi <mukul.joshi@amd.com>
Tue, 7 Jun 2022 18:46:18 +0000 (14:46 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:44:22 +0000 (09:44 -0400)
The local memory info needs to be fetched before the GPU node is added
to topology. Without this, the sysfs is incorrectly populated and the
size is reported as 0. This was causing rocr tests to fail. This issue
was caused because of a bad merge.

Signed-off-by: Mukul Joshi <mukul.joshi@amd.com>
Reviewed-by: Amber Lin <Amber.Lin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_device.c

index 8e5d785..829e324 100644 (file)
@@ -743,6 +743,8 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
        node->max_proc_per_quantum = max_proc_per_quantum;
        atomic_set(&node->sram_ecc_flag, 0);
 
+       amdgpu_amdkfd_get_local_mem_info(kfd->adev, &kfd->local_mem_info);
+
        dev_info(kfd_device, "Total number of KFD nodes to be created: %d\n",
                                kfd->num_nodes);
        for (i = 0; i < kfd->num_nodes; i++) {
@@ -793,8 +795,6 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
        if (kfd_resume_iommu(kfd))
                goto kfd_resume_iommu_error;
 
-       amdgpu_amdkfd_get_local_mem_info(kfd->adev, &kfd->local_mem_info);
-
        kfd->init_complete = true;
        dev_info(kfd_device, "added device %x:%x\n", kfd->adev->pdev->vendor,
                 kfd->adev->pdev->device);