amdgpu_pll_compute(9)
β¨ NAME β¨
amdgpu_pll_compute β compute PLL paramaters π (yes bestie that's literally how the page spells it, we're keeping it, no cap)
πΈ SYNOPSIS πΈ
void amdgpu_pll_compute (struct amdgpu_device *adev , struct amdgpu_pll
*pll , u32 freq , u32 *dot_clock_p , u32 *fb_div_p , u32 *frac_fb_div_p
, u32 *ref_div_p , u32 *post_div_p );
π ARGUMENTS π
adevβ theamdgpu_devicepointer, aka where all the GPU stuff lives π«Άpllβ theamdgpu_pllstruct, i.e. the info about the PLL itselffreqβ the frequency you're asking for, the whole reason we're here β¨dot_clock_pβ out-param: the resulting pixel clock lands herefb_div_pβ out-param: the resulting feedback divider goes herefrac_fb_div_pβ out-param: the fractional part of the feedback divider, so the vibes are precise πref_div_pβ out-param: the resulting reference dividerpost_div_pβ out-param: the resulting reference divider β fr fr that's what the page says, we're just reporting it π
π¦ DESCRIPTION π¦
So the whole point: it tries to calculate the PLL parameters that'll generate the frequency you handed it. The way that math works out:
dot_clock = (ref_freq * feedback_div) / (ref_div * post_div)
That's the whole vibe check β feed it a freq, get dividers back. It's giving "calculator but make it GPU" ππ₯
π₯ SEE ALSO π₯
- Kernel file:
./drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c amdgpu_pll_reduce_ratio(9)amdgpu_pll_get_fb_ref_div(9)amdgpu_pll_get_use_mask(9)amdgpu_pll_get_shared_dp_ppll(9)amdgpu_pll_get_shared_nondp_ppll(9)
These are the sibling functions, the squad, iykyk π
That's the page bestie βamdgpu_pll_compute(9)from the Kernel API Manual, straight out of./drivers/gpu/drm/amd/amdgpu, dated October 2026. Go get that pixel clock, icon ππΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms