drm/amd/pm: correct the reference clock for fan speed(rpm) calculation
authorEvan Quan <evan.quan@amd.com>
Fri, 16 Dec 2022 09:12:53 +0000 (17:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Jan 2023 17:02:24 +0000 (12:02 -0500)
Correct the reference clock as 25Mhz for SMU13 fan speed calculation.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.0.x, 6.1.x
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c

index e54b760b875bfeb12280490863e9a7ab9d4b5945..d1f50d42288d2f99373d659b0844cbb2d8f75d01 100644 (file)
@@ -1261,7 +1261,8 @@ int smu_v13_0_set_fan_speed_rpm(struct smu_context *smu,
                                uint32_t speed)
 {
        struct amdgpu_device *adev = smu->adev;
-       uint32_t tach_period, crystal_clock_freq;
+       uint32_t crystal_clock_freq = 2500;
+       uint32_t tach_period;
        int ret;
 
        if (!speed)
@@ -1271,7 +1272,6 @@ int smu_v13_0_set_fan_speed_rpm(struct smu_context *smu,
        if (ret)
                return ret;
 
-       crystal_clock_freq = amdgpu_asic_get_xclk(adev);
        tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed);
        WREG32_SOC15(THM, 0, regCG_TACH_CTRL,
                     REG_SET_FIELD(RREG32_SOC15(THM, 0, regCG_TACH_CTRL),