Skip to content

Commit b3ca0f3

Browse files
Rex Zhualexdeucher
authored andcommitted
drm/amd/pp: Fix fan's RPM setting not work on VI/Vega10
set the target rpm value to wrong register. Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 8f97829 commit b3ca0f3

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ int smu7_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed)
272272
tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed);
273273

274274
PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC,
275-
CG_TACH_STATUS, TACH_PERIOD, tach_period);
275+
CG_TACH_CTRL, TARGET_PERIOD, tach_period);
276276

277277
return smu7_fan_ctrl_set_static_mode(hwmgr, FDO_PWM_MODE_STATIC_RPM);
278278
}

drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -322,9 +322,9 @@ int vega10_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed)
322322
if (!result) {
323323
crystal_clock_freq = amdgpu_asic_get_xclk((struct amdgpu_device *)hwmgr->adev);
324324
tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed);
325-
WREG32_SOC15(THM, 0, mmCG_TACH_STATUS,
326-
REG_SET_FIELD(RREG32_SOC15(THM, 0, mmCG_TACH_STATUS),
327-
CG_TACH_STATUS, TACH_PERIOD,
325+
WREG32_SOC15(THM, 0, mmCG_TACH_CTRL,
326+
REG_SET_FIELD(RREG32_SOC15(THM, 0, mmCG_TACH_CTRL),
327+
CG_TACH_CTRL, TARGET_PERIOD,
328328
tach_period));
329329
}
330330
return vega10_fan_ctrl_set_static_mode(hwmgr, FDO_PWM_MODE_STATIC_RPM);

0 commit comments

Comments
 (0)