Skip to content

Commit afa3187

Browse files
Rex Zhualexdeucher
authored andcommitted
drm/amd/powerplay: refine pwm1_enable callback functions for CI.
Use the new enums for setting and getting the fan control mode. Fixes problems due to previous inconsistencies between enums. Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 2fde9ab commit afa3187

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

drivers/gpu/drm/amd/amdgpu/ci_dpm.c

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,30 +1267,33 @@ static int ci_dpm_set_fan_speed_percent(struct amdgpu_device *adev,
12671267

12681268
static void ci_dpm_set_fan_control_mode(struct amdgpu_device *adev, u32 mode)
12691269
{
1270-
if (mode) {
1271-
/* stop auto-manage */
1270+
switch (mode) {
1271+
case AMD_FAN_CTRL_NONE:
12721272
if (adev->pm.dpm.fan.ucode_fan_control)
12731273
ci_fan_ctrl_stop_smc_fan_control(adev);
1274-
ci_fan_ctrl_set_static_mode(adev, mode);
1275-
} else {
1276-
/* restart auto-manage */
1274+
ci_dpm_set_fan_speed_percent(adev, 100);
1275+
break;
1276+
case AMD_FAN_CTRL_MANUAL:
1277+
if (adev->pm.dpm.fan.ucode_fan_control)
1278+
ci_fan_ctrl_stop_smc_fan_control(adev);
1279+
break;
1280+
case AMD_FAN_CTRL_AUTO:
12771281
if (adev->pm.dpm.fan.ucode_fan_control)
12781282
ci_thermal_start_smc_fan_control(adev);
1279-
else
1280-
ci_fan_ctrl_set_default_mode(adev);
1283+
break;
1284+
default:
1285+
break;
12811286
}
12821287
}
12831288

12841289
static u32 ci_dpm_get_fan_control_mode(struct amdgpu_device *adev)
12851290
{
12861291
struct ci_power_info *pi = ci_get_pi(adev);
1287-
u32 tmp;
12881292

12891293
if (pi->fan_is_controlled_by_smc)
1290-
return 0;
1291-
1292-
tmp = RREG32_SMC(ixCG_FDO_CTRL2) & CG_FDO_CTRL2__FDO_PWM_MODE_MASK;
1293-
return (tmp >> CG_FDO_CTRL2__FDO_PWM_MODE__SHIFT);
1294+
return AMD_FAN_CTRL_AUTO;
1295+
else
1296+
return AMD_FAN_CTRL_MANUAL;
12941297
}
12951298

12961299
#if 0

0 commit comments

Comments
 (0)