drm/amd/pm: restore fan_mode AMD_FAN_CTRL_NONE on resume (v2)
authorRyan Taylor <Ryan.Taylor@amd.com>
Wed, 28 Jul 2021 19:14:05 +0000 (12:14 -0700)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 11 Aug 2021 21:18:13 +0000 (17:18 -0400)
Adds missing edge case to smu_restore_dpm_user_profile.

v2: Don't restore fan mode auto (Lijo)

Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Ryan Taylor <Ryan.Taylor@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

index 71afc2d..b4b4d61 100644 (file)
@@ -403,7 +403,8 @@ static void smu_restore_dpm_user_profile(struct smu_context *smu)
        }
 
        /* set the user dpm fan configurations */
-       if (smu->user_dpm_profile.fan_mode == AMD_FAN_CTRL_MANUAL) {
+       if (smu->user_dpm_profile.fan_mode == AMD_FAN_CTRL_MANUAL ||
+           smu->user_dpm_profile.fan_mode == AMD_FAN_CTRL_NONE) {
                ret = smu_set_fan_control_mode(smu, smu->user_dpm_profile.fan_mode);
                if (ret) {
                        dev_err(smu->adev->dev, "Failed to set manual fan control mode\n");
@@ -620,6 +621,7 @@ static int smu_early_init(void *handle)
        mutex_init(&smu->smu_baco.mutex);
        smu->smu_baco.state = SMU_BACO_STATE_EXIT;
        smu->smu_baco.platform_support = false;
+       smu->user_dpm_profile.fan_mode = -1;
 
        adev->powerplay.pp_handle = smu;
        adev->powerplay.pp_funcs = &swsmu_pm_funcs;