| From 5825acf5c958a6820b04e9811caeb2f5e572bcd8 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Tue, 13 Feb 2018 14:25:11 -0500 |
| Subject: drm/amd/powerplay/vega10: allow mclk switching with no displays |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 5825acf5c958a6820b04e9811caeb2f5e572bcd8 upstream. |
| |
| If there are no displays attached, there is no reason to disable |
| mclk switching. |
| |
| Fixes mclks getting set to high when there are no displays attached. |
| |
| Reviewed-by: Eric Huang <JinhuiEric.Huang@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 11 +++++++---- |
| 1 file changed, 7 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c |
| +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c |
| @@ -3243,10 +3243,13 @@ static int vega10_apply_state_adjust_rul |
| force_mclk_high = phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, |
| PHM_PlatformCaps_ForceMclkHigh); |
| |
| - disable_mclk_switching = (info.display_count > 1) || |
| - disable_mclk_switching_for_frame_lock || |
| - disable_mclk_switching_for_vr || |
| - force_mclk_high; |
| + if (info.display_count == 0) |
| + disable_mclk_switching = false; |
| + else |
| + disable_mclk_switching = (info.display_count > 1) || |
| + disable_mclk_switching_for_frame_lock || |
| + disable_mclk_switching_for_vr || |
| + force_mclk_high; |
| |
| sclk = vega10_ps->performance_levels[0].gfx_clock; |
| mclk = vega10_ps->performance_levels[0].mem_clock; |