Commit e7fbff9e authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu/soc21: fix xclk for APUs

The reference clock is supposed to be 100Mhz, but it
appears to actually be slightly lower (99.81Mhz).

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14451


Reviewed-by: default avatarJesse Zhang <Jesse.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 637fee39)
Cc: stable@vger.kernel.org
parent acecfee8
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -225,7 +225,13 @@ static u32 soc21_get_config_memsize(struct amdgpu_device *adev)

static u32 soc21_get_xclk(struct amdgpu_device *adev)
{
	return adev->clock.spll.reference_freq;
	u32 reference_clock = adev->clock.spll.reference_freq;

	/* reference clock is actually 99.81 Mhz rather than 100 Mhz */
	if ((adev->flags & AMD_IS_APU) && reference_clock == 10000)
		return 9981;

	return reference_clock;
}