the direct send message to smc to set hard clokc will failed
when smc clock dpm feature is disabled.
so use function of smu_set_hard_freq_range to replace it.
the function will check feature enablement.

eg: when uclk (mclk) dpm feature is disabled on navi10
[  300.675901] amdgpu: [powerplay] failed send message: SetHardMinByFreq(28)
   param: 0x00020064 response 0xfffffffb

Signed-off-by: Kevin Wang <kevin1.w...@amd.com>
---
 drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c 
b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
index 3a081acdf1a8..3a49cabf726f 100644
--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
@@ -1306,16 +1306,8 @@ smu_v11_0_display_clock_voltage_request(struct 
smu_context *smu,
                if (clk_select == SMU_UCLK && smu->disable_uclk_switch)
                        return 0;
 
-               clk_id = smu_clk_get_index(smu, clk_select);
-               if (clk_id < 0) {
-                       ret = -EINVAL;
-                       goto failed;
-               }
-
-
                mutex_lock(&smu->mutex);
-               ret = smu_send_smc_msg_with_param(smu, SMU_MSG_SetHardMinByFreq,
-                       (clk_id << 16) | clk_freq);
+               ret = smu_set_hard_freq_range(smu, clk_select, 0, clk_freq);
                mutex_unlock(&smu->mutex);
 
                if(clk_select == SMU_UCLK)
-- 
2.22.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to