[PATCH 7/7] drm/amd/display: Fix fractional fb divider in set_pixel_clock_v3

Alex Deucher alexdeucher at gmail.com
Mon Aug 4 15:59:55 UTC 2025


On Thu, Jul 31, 2025 at 5:53 AM Timur Kristóf <timur.kristof at gmail.com> wrote:
>
> 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 at gmail.com>

Acked-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/amd/display/dc/bios/command_table.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table.c b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
> index 2bcae0643e61..58e88778da7f 100644
> --- a/drivers/gpu/drm/amd/display/dc/bios/command_table.c
> +++ b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
> @@ -993,7 +993,7 @@ static enum bp_result set_pixel_clock_v3(
>         allocation.sPCLKInput.usFbDiv =
>                         cpu_to_le16((uint16_t)bp_params->feedback_divider);
>         allocation.sPCLKInput.ucFracFbDiv =
> -                       (uint8_t)bp_params->fractional_feedback_divider;
> +                       (uint8_t)(bp_params->fractional_feedback_divider / 100000);
>         allocation.sPCLKInput.ucPostDiv =
>                         (uint8_t)bp_params->pixel_clock_post_divider;
>
> --
> 2.50.1
>


More information about the amd-gfx mailing list