drm/amd/pm: Fix DPM level count on aldebaran

Firmware returns zero-based max level, increment by one to get
total levels. This fixes the issue of not showing all levels and current
frequency when frequency is at max DPM level.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Lijo Lazar 2021-03-26 13:43:14 +08:00 committed by Alex Deucher
parent 2d64d23e95
commit f41f8e0886

View File

@ -1710,10 +1710,14 @@ int smu_v13_0_get_dpm_level_count(struct smu_context *smu,
enum smu_clk_type clk_type,
uint32_t *value)
{
return smu_v13_0_get_dpm_freq_by_index(smu,
clk_type,
0xff,
value);
int ret;
ret = smu_v13_0_get_dpm_freq_by_index(smu, clk_type, 0xff, value);
/* FW returns 0 based max level, increment by one */
if (!ret && value)
++(*value);
return ret;
}
int smu_v13_0_set_single_dpm_table(struct smu_context *smu,