aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Quan <evan.quan@amd.com>2018-06-05 23:54:45 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-06-13 14:45:22 -0400
commitc3dade5ef72d9141e28fb86ebd46a9b3f3f4e030 (patch)
treeaa822bf466574a031c3c7aae8f0b48aae599060f
parent97028037a38ae40c0e06789b71038d3a6045a413 (diff)
drm/amd/powerplay: fix wrong clock adjust sequence
The clocks should be adjusted after display configuration changed. Otherwise, the socclk and memclk may be forced on an unnecessary higher level. Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-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/pp_psm.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
index 0af13c154328..323990b77ead 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
@@ -265,19 +265,18 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip,
265 if (skip) 265 if (skip)
266 return 0; 266 return 0;
267 267
268 if (!hwmgr->ps)
269 /*
270 * for vega12/vega20 which does not support power state manager
271 * DAL clock limits should also be honoured
272 */
273 phm_apply_clock_adjust_rules(hwmgr);
274
275 phm_pre_display_configuration_changed(hwmgr); 268 phm_pre_display_configuration_changed(hwmgr);
276 269
277 phm_display_configuration_changed(hwmgr); 270 phm_display_configuration_changed(hwmgr);
278 271
279 if (hwmgr->ps) 272 if (hwmgr->ps)
280 power_state_management(hwmgr, new_ps); 273 power_state_management(hwmgr, new_ps);
274 else
275 /*
276 * for vega12/vega20 which does not support power state manager
277 * DAL clock limits should also be honoured
278 */
279 phm_apply_clock_adjust_rules(hwmgr);
281 280
282 phm_notify_smc_display_config_after_ps_adjustment(hwmgr); 281 phm_notify_smc_display_config_after_ps_adjustment(hwmgr);
283 282