Skip to content

Commit 5ae8fb9

Browse files
Li Maalexdeucher
authored andcommitted
drm/amd/swsmu: enable Pstates profile levels for SMU v14.0.4
Enables following UMD stable Pstates profile levels of power_dpm_force_performance_level for SMU v14.0.4. - profile_peak - profile_min_mclk - profile_min_sclk - profile_standard Signed-off-by: Li Ma <[email protected]> Reviewed-by: Tim Huang <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 2fdc99b commit 5ae8fb9

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@
6969
#define SMU_14_0_0_UMD_PSTATE_SOCCLK 678
7070
#define SMU_14_0_0_UMD_PSTATE_FCLK 1800
7171

72+
#define SMU_14_0_4_UMD_PSTATE_GFXCLK 938
73+
#define SMU_14_0_4_UMD_PSTATE_SOCCLK 938
74+
7275
#define FEATURE_MASK(feature) (1ULL << feature)
7376
#define SMC_DPM_FEATURE ( \
7477
FEATURE_MASK(FEATURE_CCLK_DPM_BIT) | \
@@ -1296,19 +1299,28 @@ static int smu_v14_0_common_get_dpm_profile_freq(struct smu_context *smu,
12961299
switch (clk_type) {
12971300
case SMU_GFXCLK:
12981301
case SMU_SCLK:
1299-
clk_limit = SMU_14_0_0_UMD_PSTATE_GFXCLK;
1302+
if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(14, 0, 4))
1303+
clk_limit = SMU_14_0_4_UMD_PSTATE_GFXCLK;
1304+
else
1305+
clk_limit = SMU_14_0_0_UMD_PSTATE_GFXCLK;
13001306
if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK)
13011307
smu_v14_0_common_get_dpm_ultimate_freq(smu, SMU_SCLK, NULL, &clk_limit);
13021308
else if (level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK)
13031309
smu_v14_0_common_get_dpm_ultimate_freq(smu, SMU_SCLK, &clk_limit, NULL);
13041310
break;
13051311
case SMU_SOCCLK:
1306-
clk_limit = SMU_14_0_0_UMD_PSTATE_SOCCLK;
1312+
if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(14, 0, 4))
1313+
clk_limit = SMU_14_0_4_UMD_PSTATE_SOCCLK;
1314+
else
1315+
clk_limit = SMU_14_0_0_UMD_PSTATE_SOCCLK;
13071316
if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK)
13081317
smu_v14_0_common_get_dpm_ultimate_freq(smu, SMU_SOCCLK, NULL, &clk_limit);
13091318
break;
13101319
case SMU_FCLK:
1311-
clk_limit = SMU_14_0_0_UMD_PSTATE_FCLK;
1320+
if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(14, 0, 4))
1321+
smu_v14_0_common_get_dpm_ultimate_freq(smu, SMU_FCLK, NULL, &clk_limit);
1322+
else
1323+
clk_limit = SMU_14_0_0_UMD_PSTATE_FCLK;
13121324
if (level == AMD_DPM_FORCED_LEVEL_PROFILE_PEAK)
13131325
smu_v14_0_common_get_dpm_ultimate_freq(smu, SMU_FCLK, NULL, &clk_limit);
13141326
else if (level == AMD_DPM_FORCED_LEVEL_PROFILE_MIN_MCLK)

0 commit comments

Comments
 (0)