Commit 158d823f authored by Alex Deucher's avatar Alex Deucher

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: 8d89b96f ("drm/amd/powerplay: optimize the mclk dpm policy settings")
Reviewed-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d8c266a1
...@@ -1717,18 +1717,24 @@ static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr) ...@@ -1717,18 +1717,24 @@ static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr)
data->current_profile_setting.sclk_down_hyst = 100; data->current_profile_setting.sclk_down_hyst = 100;
data->current_profile_setting.sclk_activity = SMU7_SCLK_TARGETACTIVITY_DFLT; data->current_profile_setting.sclk_activity = SMU7_SCLK_TARGETACTIVITY_DFLT;
data->current_profile_setting.bupdate_mclk = 1; data->current_profile_setting.bupdate_mclk = 1;
if (adev->gmc.vram_width == 256) { if (hwmgr->chip_id >= CHIP_POLARIS10) {
data->current_profile_setting.mclk_up_hyst = 10; if (adev->gmc.vram_width == 256) {
data->current_profile_setting.mclk_down_hyst = 60; data->current_profile_setting.mclk_up_hyst = 10;
data->current_profile_setting.mclk_activity = 25; data->current_profile_setting.mclk_down_hyst = 60;
} else if (adev->gmc.vram_width == 128) { data->current_profile_setting.mclk_activity = 25;
data->current_profile_setting.mclk_up_hyst = 5; } else if (adev->gmc.vram_width == 128) {
data->current_profile_setting.mclk_down_hyst = 16; data->current_profile_setting.mclk_up_hyst = 5;
data->current_profile_setting.mclk_activity = 20; data->current_profile_setting.mclk_down_hyst = 16;
} else if (adev->gmc.vram_width == 64) { data->current_profile_setting.mclk_activity = 20;
data->current_profile_setting.mclk_up_hyst = 3; } else if (adev->gmc.vram_width == 64) {
data->current_profile_setting.mclk_down_hyst = 16; data->current_profile_setting.mclk_up_hyst = 3;
data->current_profile_setting.mclk_activity = 20; data->current_profile_setting.mclk_down_hyst = 16;
data->current_profile_setting.mclk_activity = 20;
}
} else {
data->current_profile_setting.mclk_up_hyst = 0;
data->current_profile_setting.mclk_down_hyst = 100;
data->current_profile_setting.mclk_activity = SMU7_MCLK_TARGETACTIVITY_DFLT;
} }
hwmgr->workload_mask = 1 << hwmgr->workload_prority[PP_SMC_POWER_PROFILE_FULLSCREEN3D]; hwmgr->workload_mask = 1 << hwmgr->workload_prority[PP_SMC_POWER_PROFILE_FULLSCREEN3D];
hwmgr->power_profile_mode = PP_SMC_POWER_PROFILE_FULLSCREEN3D; hwmgr->power_profile_mode = PP_SMC_POWER_PROFILE_FULLSCREEN3D;
......
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