aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArunpravin <[email protected]>2020-11-27 21:40:24 +0530
committerAlex Deucher <[email protected]>2020-12-02 22:51:10 -0500
commitacab02c1af43d3a9051524579b1c3dcfbfa5479d (patch)
tree0ee3e8c4d84f03c72e16c40ef32366b9976a08ab
parentb65054597872ce3aefbc6a666385eabdf9e288da (diff)
drm/amdgpu/pm/smu11: Fix fan set speed bug
Fix fan set speed calculation. Suggested-by: Kenneth Feng <[email protected]> Signed-off-by: Arunpravin <[email protected]> Acked-by: Alex Deucher <[email protected]> Reviewed-by: Kenneth Feng <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
-rw-r--r--drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
index 2380759ddf48..6db96fa1df09 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
@@ -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),