]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amd: Don't parse IMU ucode version if it won't be loaded
authorMario Limonciello <mario.limonciello@amd.com>
Fri, 13 Oct 2023 19:26:03 +0000 (14:26 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 19 Oct 2023 22:26:51 +0000 (18:26 -0400)
When the IMU ucode is loaded by the PSP parsing the version that comes from
Linux will vary. Rather than showing the wrong data to kernel interface
consumers, avoid populating it in this case.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/imu_v11_0.c

index 875fb5ac70b579cc6da5f2bb9675225ffd8257e2..c0bdab3bf0e41cf346c46c52cc4bd43a2bc762d3 100644 (file)
@@ -55,7 +55,6 @@ static int imu_v11_0_init_microcode(struct amdgpu_device *adev)
        if (err)
                goto out;
        imu_hdr = (const struct imu_firmware_header_v1_0 *)adev->gfx.imu_fw->data;
-       adev->gfx.imu_fw_version = le32_to_cpu(imu_hdr->header.ucode_version);
        //adev->gfx.imu_feature_version = le32_to_cpu(imu_hdr->ucode_feature_version);
        
        if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) {
@@ -69,7 +68,8 @@ static int imu_v11_0_init_microcode(struct amdgpu_device *adev)
                info->fw = adev->gfx.imu_fw;
                adev->firmware.fw_size +=
                        ALIGN(le32_to_cpu(imu_hdr->imu_dram_ucode_size_bytes), PAGE_SIZE);
-       }
+       } else
+               adev->gfx.imu_fw_version = le32_to_cpu(imu_hdr->header.ucode_version);
 
 out:
        if (err) {