Commit 9003a074 authored by Timur Kristóf's avatar Timur Kristóf Committed by Alex Deucher
Browse files

drm/amd/pm: Treat zero vblank time as too short in si_dpm (v3)



Some parts of the code base expect that MCLK switching is turned
off when the vblank time is set to zero.

According to pp_pm_compute_clocks the non-DC code has issues
with MCLK switching with refresh rates over 120 Hz.

v3:
Add code comment to explain this better.
Add an if statement instead of changing the switch_limit.

Fixes: 841686df ("drm/amdgpu: add SI DPM support (v4)")
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarTimur Kristóf <timur.kristof@gmail.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ce025130
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -3085,7 +3085,13 @@ static bool si_dpm_vblank_too_short(void *handle)
	/* we never hit the non-gddr5 limit so disable it */
	u32 switch_limit = adev->gmc.vram_type == AMDGPU_VRAM_TYPE_GDDR5 ? 450 : 0;

	if (vblank_time < switch_limit)
	/* Consider zero vblank time too short and disable MCLK switching.
	 * Note that the vblank time is set to maximum when no displays are attached,
	 * so we'll still enable MCLK switching in that case.
	 */
	if (vblank_time == 0)
		return true;
	else if (vblank_time < switch_limit)
		return true;
	else
		return false;