]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amd/powerplay: wrong control mode cause the fan spins faster unnecessarily
authorEvan Quan <evan.quan@amd.com>
Wed, 1 Nov 2017 08:52:08 +0000 (16:52 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 Nov 2017 03:31:13 +0000 (23:31 -0400)
The fan control mode can either be FDO_PWM_MODE_STATIC or FDO_PWM_MODE_STATIC_RPM.
Setting it as AMD_FAN_CTRL_AUTO will cause the fan spin faster wrongly.

This can be reproduced by:
'# cat /sys/class/hwmon/hwmon0/pwm1
   38
'# cat /sys/class/hwmon/hwmon0/pwm1_enable
   2
'# echo "2" > /sys/class/hwmon/hwmon0/pwm1_enable
'# cat /sys/class/hwmon/hwmon0/pwm1
   122
The fan speed get faster wrongly even with its original mode echo back.

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
drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c

index 203ef10cafdc8d52df399408b677c0963cda5f86..4239b98cf6db7d06cfaede7935f3edadc34d2bcb 100644 (file)
@@ -4234,7 +4234,7 @@ static void vega10_set_fan_control_mode(struct pp_hwmgr *hwmgr, uint32_t mode)
                        vega10_fan_ctrl_stop_smc_fan_control(hwmgr);
                break;
        case AMD_FAN_CTRL_AUTO:
-               if (!vega10_fan_ctrl_set_static_mode(hwmgr, mode))
+               if (PP_CAP(PHM_PlatformCaps_MicrocodeFanControl))
                        vega10_fan_ctrl_start_smc_fan_control(hwmgr);
                break;
        default: