Skip to content

Commit

Permalink
drm/amd/powerplay: add feature check in unforce_dpm_levels function (v2)
Browse files Browse the repository at this point in the history
if not check dpm feature is enabled, it will cause show smc send message
failed log in dmesg log.
eg:
echo "auto" > power_dpm_force_performance_level

v2: whitespace fix (Alex)

Signed-off-by: Kevin Wang <kevin1.wang@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Rui Teng <rui.teng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  • Loading branch information
Kevin Wang authored and Alex Deucher committed Jun 25, 2019
1 parent ac1092b commit cb2a782
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions drivers/gpu/drm/amd/powerplay/navi10_ppt.c
Original file line number Diff line number Diff line change
Expand Up @@ -815,14 +815,21 @@ static int navi10_unforce_dpm_levels(struct smu_context *smu) {
uint32_t min_freq, max_freq;
enum smu_clk_type clk_type;

enum smu_clk_type clks[] = {
SMU_GFXCLK,
SMU_MCLK,
SMU_SOCCLK,
struct clk_feature_map {
enum smu_clk_type clk_type;
uint32_t feature;
} clk_feature_map[] = {
{SMU_GFXCLK, SMU_FEATURE_DPM_GFXCLK_BIT},
{SMU_MCLK, SMU_FEATURE_DPM_UCLK_BIT},
{SMU_SOCCLK, SMU_FEATURE_DPM_SOCCLK_BIT},
};

for (i = 0; i < ARRAY_SIZE(clks); i++) {
clk_type = clks[i];
for (i = 0; i < ARRAY_SIZE(clk_feature_map); i++) {
if (!smu_feature_is_enabled(smu, clk_feature_map[i].feature))
continue;

clk_type = clk_feature_map[i].clk_type;

ret = smu_get_dpm_freq_range(smu, clk_type, &min_freq, &max_freq);
if (ret)
return ret;
Expand Down

0 comments on commit cb2a782

Please sign in to comment.