]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/amd/display: Fix fractional fb divider in set_pixel_clock_v3
authorTimur Kristóf <timur.kristof@gmail.com>
Thu, 31 Jul 2025 09:43:52 +0000 (11:43 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 18 Aug 2025 22:00:34 +0000 (18:00 -0400)
commit10507478468f165ea681605d133991ed05cdff62
treeaa2e491446eeb28873b944f4239304d0b631a741
parentf14ee2e7a86c5e57295b48b8e198cae7189b3b93
drm/amd/display: Fix fractional fb divider in set_pixel_clock_v3

For later VBIOS versions, the fractional feedback divider is
calculated as the remainder of dividing the feedback divider by
a factor, which is set to 1000000. For reference, see:
- calculate_fb_and_fractional_fb_divider
- calc_pll_max_vco_construct

However, in case of old VBIOS versions that have
set_pixel_clock_v3, they only have 1 byte available for the
fractional feedback divider, and it's expected to be set to the
remainder from dividing the feedback divider by 10.
For reference see the legacy display code:
- amdgpu_pll_compute
- amdgpu_atombios_crtc_program_pll

This commit fixes set_pixel_clock_v3 by dividing the fractional
feedback divider passed to the function by 100000.

Fixes: 4562236b3bc0 ("drm/amd/dc: Add dc display driver (v2)")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Rodrigo Siqueira <siqueira@igalia.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 027e7acc7e17802ebf28e1edb88a404836ad50d6)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/bios/command_table.c