drm/amdgpu: move gpu_info parsing after common early init
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 15 May 2020 18:04:17 +0000 (14:04 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 22 May 2020 17:41:32 +0000 (13:41 -0400)
We need to get the silicon revision id before we parse
the firmware in order to load the correct gpu info firmware
for raven2 variants.

Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1103
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 5956aaaf11ba06fc31e21ac240b765f1f827f1ef..d46b400cb67fb1393c8957f649516d42a787a017 100644 (file)
@@ -1766,10 +1766,6 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
                return -EINVAL;
        }
 
-       r = amdgpu_device_parse_gpu_info_fw(adev);
-       if (r)
-               return r;
-
        amdgpu_amdkfd_device_probe(adev);
 
        if (amdgpu_sriov_vf(adev)) {
@@ -1824,6 +1820,10 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
                }
                /* get the vbios after the asic_funcs are set up */
                if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) {
+                       r = amdgpu_device_parse_gpu_info_fw(adev);
+                       if (r)
+                               return r;
+
                        /* skip vbios handling for new handshake */
                        if (amdgpu_sriov_vf(adev) && adev->virt.req_init_data_ver == 1)
                                continue;