]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 9 Dec 2021 18:13:53 +0000 (12:13 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 14 Dec 2021 22:52:28 +0000 (17:52 -0500)
This value does not get cached into adev->pm.fw_version during
startup for smu13 like it does for other SMU like smu12.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c

index 35145db6eedfc9e23df68d2ff71c11bd5a7e04d7..19a5d2c39c8d8ac170567b4a323db36ccc6f9e28 100644 (file)
@@ -198,6 +198,7 @@ int smu_v13_0_check_fw_status(struct smu_context *smu)
 
 int smu_v13_0_check_fw_version(struct smu_context *smu)
 {
+       struct amdgpu_device *adev = smu->adev;
        uint32_t if_version = 0xff, smu_version = 0xff;
        uint16_t smu_major;
        uint8_t smu_minor, smu_debug;
@@ -210,6 +211,8 @@ int smu_v13_0_check_fw_version(struct smu_context *smu)
        smu_major = (smu_version >> 16) & 0xffff;
        smu_minor = (smu_version >> 8) & 0xff;
        smu_debug = (smu_version >> 0) & 0xff;
+       if (smu->is_apu)
+               adev->pm.fw_version = smu_version;
 
        switch (smu->adev->ip_versions[MP1_HWIP][0]) {
        case IP_VERSION(13, 0, 2):