drm/amd/pm: do not issue message while write "r" into pp_od_clk_voltage
authorHuang Rui <ray.huang@amd.com>
Wed, 10 Feb 2021 04:27:43 +0000 (12:27 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Feb 2021 21:43:11 +0000 (16:43 -0500)
We should commit the value after restore them back to default as well.

$ echo "r" > pp_od_clk_voltage
$ echo "c" > pp_od_clk_voltage

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c

index d1358a6..2c90f71 100644 (file)
@@ -1526,20 +1526,6 @@ static int smu10_set_fine_grain_clk_vol(struct pp_hwmgr *hwmgr,
 
                smu10_data->gfx_actual_soft_min_freq = min_freq;
                smu10_data->gfx_actual_soft_max_freq = max_freq;
-
-               ret = smum_send_msg_to_smc_with_parameter(hwmgr,
-                                       PPSMC_MSG_SetHardMinGfxClk,
-                                       min_freq,
-                                       NULL);
-               if (ret)
-                       return ret;
-
-               ret = smum_send_msg_to_smc_with_parameter(hwmgr,
-                                       PPSMC_MSG_SetSoftMaxGfxClk,
-                                       max_freq,
-                                       NULL);
-               if (ret)
-                       return ret;
        } else if (type == PP_OD_COMMIT_DPM_TABLE) {
                if (size != 0) {
                        pr_err("Input parameter number not correct\n");
index 8abb25a..7b7ae55 100644 (file)
@@ -1457,7 +1457,6 @@ static int vangogh_od_edit_dpm_table(struct smu_context *smu, enum PP_OD_DPM_TAB
                                        long input[], uint32_t size)
 {
        int ret = 0;
-       int i;
        struct smu_dpm_context *smu_dpm_ctx = &(smu->smu_dpm);
 
        if (!(smu_dpm_ctx->dpm_level == AMD_DPM_FORCED_LEVEL_MANUAL)) {
@@ -1530,43 +1529,6 @@ static int vangogh_od_edit_dpm_table(struct smu_context *smu, enum PP_OD_DPM_TAB
                        smu->gfx_actual_soft_max_freq = smu->gfx_default_soft_max_freq;
                        smu->cpu_actual_soft_min_freq = smu->cpu_default_soft_min_freq;
                        smu->cpu_actual_soft_max_freq = smu->cpu_default_soft_max_freq;
-
-                       ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinGfxClk,
-                                                                       smu->gfx_actual_hard_min_freq, NULL);
-                       if (ret) {
-                               dev_err(smu->adev->dev, "Restore the default hard min sclk failed!");
-                               return ret;
-                       }
-
-                       ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxGfxClk,
-                                                                       smu->gfx_actual_soft_max_freq, NULL);
-                       if (ret) {
-                               dev_err(smu->adev->dev, "Restore the default soft max sclk failed!");
-                               return ret;
-                       }
-
-                       if (smu->adev->pm.fw_version < 0x43f1b00) {
-                               dev_warn(smu->adev->dev, "CPUSoftMax/CPUSoftMin are not supported, please update SBIOS!\n");
-                               break;
-                       }
-
-                       for (i = 0; i < smu->cpu_core_num; i++) {
-                               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMinCclk,
-                                                                     (i << 20) | smu->cpu_actual_soft_min_freq,
-                                                                     NULL);
-                               if (ret) {
-                                       dev_err(smu->adev->dev, "Set hard min cclk failed!");
-                                       return ret;
-                               }
-
-                               ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxCclk,
-                                                                     (i << 20) | smu->cpu_actual_soft_max_freq,
-                                                                     NULL);
-                               if (ret) {
-                                       dev_err(smu->adev->dev, "Set soft max cclk failed!");
-                                       return ret;
-                               }
-                       }
                }
                break;
        case PP_OD_COMMIT_DPM_TABLE:
index b59156d..9a8b1a1 100644 (file)
@@ -389,24 +389,6 @@ static int renoir_od_edit_dpm_table(struct smu_context *smu,
                }
                smu->gfx_actual_hard_min_freq = smu->gfx_default_hard_min_freq;
                smu->gfx_actual_soft_max_freq = smu->gfx_default_soft_max_freq;
-
-               ret = smu_cmn_send_smc_msg_with_param(smu,
-                                                               SMU_MSG_SetHardMinGfxClk,
-                                                               smu->gfx_actual_hard_min_freq,
-                                                               NULL);
-               if (ret) {
-                       dev_err(smu->adev->dev, "Restore the default hard min sclk failed!");
-                       return ret;
-               }
-
-               ret = smu_cmn_send_smc_msg_with_param(smu,
-                                                               SMU_MSG_SetSoftMaxGfxClk,
-                                                               smu->gfx_actual_soft_max_freq,
-                                                               NULL);
-               if (ret) {
-                       dev_err(smu->adev->dev, "Restore the default soft max sclk failed!");
-                       return ret;
-               }
                break;
        case PP_OD_COMMIT_DPM_TABLE:
                if (size != 0) {