diff options
author | Evan Quan <evan.quan@amd.com> | 2018-06-05 23:54:45 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-06-13 14:45:22 -0400 |
commit | c3dade5ef72d9141e28fb86ebd46a9b3f3f4e030 (patch) | |
tree | aa822bf466574a031c3c7aae8f0b48aae599060f | |
parent | 97028037a38ae40c0e06789b71038d3a6045a413 (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.c | 13 |
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 | ||