summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c
diff options
context:
space:
mode:
authorRex Zhu2016-09-14 07:20:34 +0200
committerAlex Deucher2016-09-19 19:22:08 +0200
commit9716ebc38dfabe6c8e5e3c809e9f3c61dd3740f9 (patch)
treec1940c8ea48c8e67f1dcc5c1e75e291d41fa8838 /drivers/gpu/drm/amd/powerplay/eventmgr/psm.c
parentRevert "drm/radeon: skip suspend/resume on DRM_SWITCH_POWER_DYNAMIC_OFF" (diff)
downloadkernel-qcow2-linux-9716ebc38dfabe6c8e5e3c809e9f3c61dd3740f9.tar.gz
kernel-qcow2-linux-9716ebc38dfabe6c8e5e3c809e9f3c61dd3740f9.tar.xz
kernel-qcow2-linux-9716ebc38dfabe6c8e5e3c809e9f3c61dd3740f9.zip
drm/amd/powerplay: fix mclk not switching back after multi-head was disabled
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/eventmgr/psm.c')
-rw-r--r--drivers/gpu/drm/amd/powerplay/eventmgr/psm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c b/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c
index 1d1875a7cb2d..489908887e9c 100644
--- a/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c
+++ b/drivers/gpu/drm/amd/powerplay/eventmgr/psm.c
@@ -101,11 +101,12 @@ int psm_adjust_power_state_dynamic(struct pp_eventmgr *eventmgr, bool skip)
if (requested == NULL)
return 0;
+ phm_apply_state_adjust_rules(hwmgr, requested, pcurrent);
+
if (pcurrent == NULL || (0 != phm_check_states_equal(hwmgr, &pcurrent->hardware, &requested->hardware, &equal)))
equal = false;
if (!equal || phm_check_smc_update_required_for_display_configuration(hwmgr)) {
- phm_apply_state_adjust_rules(hwmgr, requested, pcurrent);
phm_set_power_state(hwmgr, &pcurrent->hardware, &requested->hardware);
memcpy(hwmgr->current_ps, hwmgr->request_ps, hwmgr->ps_size);
}