drm/amdgpu/pm/smu11: Fix fan set speed bug
authorArunpravin <Arunpravin.PaneerSelvam@amd.com>
Fri, 27 Nov 2020 16:10:24 +0000 (21:40 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Dec 2020 03:51:10 +0000 (22:51 -0500)
Fix fan set speed calculation.

Suggested-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Arunpravin <Arunpravin.PaneerSelvam@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c

index 2380759ddf480bd20dba8557ca292122fa49c1db..6db96fa1df0926d51df428f0fc5649ca731b22c9 100644 (file)
@@ -1164,7 +1164,12 @@ int smu_v11_0_set_fan_speed_rpm(struct smu_context *smu,
        if (ret)
                return ret;
 
-       crystal_clock_freq = amdgpu_asic_get_xclk(adev);
+       /*
+        * crystal_clock_freq div by 4 is required since the fan control
+        * module refers to 25MHz
+        */
+
+       crystal_clock_freq = amdgpu_asic_get_xclk(adev) / 4;
        tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed);
        WREG32_SOC15(THM, 0, mmCG_TACH_CTRL,
                     REG_SET_FIELD(RREG32_SOC15(THM, 0, mmCG_TACH_CTRL),