aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRex Zhu <Rex.Zhu@amd.com>2018-10-22 01:27:37 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-11-01 10:52:24 -0400
commit17c7c7e714624dd8f00fb6b85a214745fc2bae6b (patch)
tree4f545b6d8b079717aaaeb6cec3a871605d3b953c
parent5be3bb6e92549f246f472d74bfaa54f56acbf998 (diff)
drm/amd/pp: Fix pp_sclk/mclk_od not work on smu7
not update the dpm table with user's setting Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
index 6c99cbf51c08..ed35ec0341e6 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
@@ -3588,9 +3588,10 @@ static int smu7_find_dpm_states_clocks_in_dpm_table(struct pp_hwmgr *hwmgr, cons
3588 break; 3588 break;
3589 } 3589 }
3590 3590
3591 if (i >= sclk_table->count) 3591 if (i >= sclk_table->count) {
3592 data->need_update_smu7_dpm_table |= DPMTABLE_OD_UPDATE_SCLK; 3592 data->need_update_smu7_dpm_table |= DPMTABLE_OD_UPDATE_SCLK;
3593 else { 3593 sclk_table->dpm_levels[i-1].value = sclk;
3594 } else {
3594 /* TODO: Check SCLK in DAL's minimum clocks 3595 /* TODO: Check SCLK in DAL's minimum clocks
3595 * in case DeepSleep divider update is required. 3596 * in case DeepSleep divider update is required.
3596 */ 3597 */
@@ -3605,9 +3606,10 @@ static int smu7_find_dpm_states_clocks_in_dpm_table(struct pp_hwmgr *hwmgr, cons
3605 break; 3606 break;
3606 } 3607 }
3607 3608
3608 if (i >= mclk_table->count) 3609 if (i >= mclk_table->count) {
3609 data->need_update_smu7_dpm_table |= DPMTABLE_OD_UPDATE_MCLK; 3610 data->need_update_smu7_dpm_table |= DPMTABLE_OD_UPDATE_MCLK;
3610 3611 mclk_table->dpm_levels[i-1].value = mclk;
3612 }
3611 3613
3612 if (data->display_timing.num_existing_displays != hwmgr->display_config->num_display) 3614 if (data->display_timing.num_existing_displays != hwmgr->display_config->num_display)
3613 data->need_update_smu7_dpm_table |= DPMTABLE_UPDATE_MCLK; 3615 data->need_update_smu7_dpm_table |= DPMTABLE_UPDATE_MCLK;