OSDN Git Service

drm/amdgpu: parse the new members added by gpu_info ucode v1_1
authorHawking Zhang <Hawking.Zhang@amd.com>
Wed, 13 Jun 2018 04:19:43 +0000 (12:19 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 Jun 2019 02:16:16 +0000 (21:16 -0500)
Parse the new parameters for gfx10.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index dc69fbe..b2a9de3 100644 (file)
@@ -1428,6 +1428,15 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
                adev->gfx.cu_info.max_scratch_slots_per_cu =
                        le32_to_cpu(gpu_info_fw->gc_max_scratch_slots_per_cu);
                adev->gfx.cu_info.lds_size = le32_to_cpu(gpu_info_fw->gc_lds_size);
+               if (hdr->version_minor == 1) {
+                       const struct gpu_info_firmware_v1_1 *gpu_info_fw =
+                               (const struct gpu_info_firmware_v1_1 *)(adev->firmware.gpu_info_fw->data +
+                                                                       le32_to_cpu(hdr->header.ucode_array_offset_bytes));
+                       adev->gfx.config.num_sc_per_sh =
+                               le32_to_cpu(gpu_info_fw->num_sc_per_sh);
+                       adev->gfx.config.num_packer_per_sc =
+                               le32_to_cpu(gpu_info_fw->num_packer_per_sc);
+               }
                break;
        }
        default: