Commit 022ac4c9 authored by Yuxian Dai's avatar Yuxian Dai Committed by Alex Deucher

drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK

1.Using the FCLK DPM table to set the MCLK for DPM states consist of
three entities:
 FCLK
 UCLK
 MEMCLK
All these three clk change together, MEMCLK from FCLK, so use the fclk
frequency.
2.we should show the current working clock freqency from clock table metric
Signed-off-by: default avatarYuxian Dai <Yuxian.Dai@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarHuang Rui <ray.huang@amd.com>
Reviewed-by: default avatarKevin Wang <Kevin1.Wang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent 3148a6a0
...@@ -239,6 +239,7 @@ static int renoir_print_clk_levels(struct smu_context *smu, ...@@ -239,6 +239,7 @@ static int renoir_print_clk_levels(struct smu_context *smu,
uint32_t cur_value = 0, value = 0, count = 0, min = 0, max = 0; uint32_t cur_value = 0, value = 0, count = 0, min = 0, max = 0;
DpmClocks_t *clk_table = smu->smu_table.clocks_table; DpmClocks_t *clk_table = smu->smu_table.clocks_table;
SmuMetrics_t metrics; SmuMetrics_t metrics;
bool cur_value_match_level = false;
if (!clk_table || clk_type >= SMU_CLK_COUNT) if (!clk_table || clk_type >= SMU_CLK_COUNT)
return -EINVAL; return -EINVAL;
...@@ -297,8 +298,13 @@ static int renoir_print_clk_levels(struct smu_context *smu, ...@@ -297,8 +298,13 @@ static int renoir_print_clk_levels(struct smu_context *smu,
GET_DPM_CUR_FREQ(clk_table, clk_type, i, value); GET_DPM_CUR_FREQ(clk_table, clk_type, i, value);
size += sprintf(buf + size, "%d: %uMhz %s\n", i, value, size += sprintf(buf + size, "%d: %uMhz %s\n", i, value,
cur_value == value ? "*" : ""); cur_value == value ? "*" : "");
if (cur_value == value)
cur_value_match_level = true;
} }
if (!cur_value_match_level)
size += sprintf(buf + size, " %uMhz *\n", cur_value);
return size; return size;
} }
......
...@@ -37,7 +37,7 @@ extern void renoir_set_ppt_funcs(struct smu_context *smu); ...@@ -37,7 +37,7 @@ extern void renoir_set_ppt_funcs(struct smu_context *smu);
freq = table->SocClocks[dpm_level].Freq; \ freq = table->SocClocks[dpm_level].Freq; \
break; \ break; \
case SMU_MCLK: \ case SMU_MCLK: \
freq = table->MemClocks[dpm_level].Freq; \ freq = table->FClocks[dpm_level].Freq; \
break; \ break; \
case SMU_DCEFCLK: \ case SMU_DCEFCLK: \
freq = table->DcfClocks[dpm_level].Freq; \ freq = table->DcfClocks[dpm_level].Freq; \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment