Skip to content

Commit 3e269ee

Browse files
committed
drm/amdgpu/powerplay: Only apply optimized mclk dpm policy on polaris
Leads to improper dpm on older parts. Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1353 Fixes: 8d89b96 ("drm/amd/powerplay: optimize the mclk dpm policy settings") Reviewed-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Luben Tuikov <luben.tuikov@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 7a1cc64 commit 3e269ee

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1589,18 +1589,24 @@ static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr)
15891589
data->current_profile_setting.sclk_down_hyst = 100;
15901590
data->current_profile_setting.sclk_activity = SMU7_SCLK_TARGETACTIVITY_DFLT;
15911591
data->current_profile_setting.bupdate_mclk = 1;
1592-
if (adev->gmc.vram_width == 256) {
1593-
data->current_profile_setting.mclk_up_hyst = 10;
1594-
data->current_profile_setting.mclk_down_hyst = 60;
1595-
data->current_profile_setting.mclk_activity = 25;
1596-
} else if (adev->gmc.vram_width == 128) {
1597-
data->current_profile_setting.mclk_up_hyst = 5;
1598-
data->current_profile_setting.mclk_down_hyst = 16;
1599-
data->current_profile_setting.mclk_activity = 20;
1600-
} else if (adev->gmc.vram_width == 64) {
1601-
data->current_profile_setting.mclk_up_hyst = 3;
1602-
data->current_profile_setting.mclk_down_hyst = 16;
1603-
data->current_profile_setting.mclk_activity = 20;
1592+
if (hwmgr->chip_id >= CHIP_POLARIS10) {
1593+
if (adev->gmc.vram_width == 256) {
1594+
data->current_profile_setting.mclk_up_hyst = 10;
1595+
data->current_profile_setting.mclk_down_hyst = 60;
1596+
data->current_profile_setting.mclk_activity = 25;
1597+
} else if (adev->gmc.vram_width == 128) {
1598+
data->current_profile_setting.mclk_up_hyst = 5;
1599+
data->current_profile_setting.mclk_down_hyst = 16;
1600+
data->current_profile_setting.mclk_activity = 20;
1601+
} else if (adev->gmc.vram_width == 64) {
1602+
data->current_profile_setting.mclk_up_hyst = 3;
1603+
data->current_profile_setting.mclk_down_hyst = 16;
1604+
data->current_profile_setting.mclk_activity = 20;
1605+
}
1606+
} else {
1607+
data->current_profile_setting.mclk_up_hyst = 0;
1608+
data->current_profile_setting.mclk_down_hyst = 100;
1609+
data->current_profile_setting.mclk_activity = SMU7_MCLK_TARGETACTIVITY_DFLT;
16041610
}
16051611
hwmgr->workload_mask = 1 << hwmgr->workload_prority[PP_SMC_POWER_PROFILE_FULLSCREEN3D];
16061612
hwmgr->power_profile_mode = PP_SMC_POWER_PROFILE_FULLSCREEN3D;

0 commit comments

Comments
 (0)