si_calc_upll_dividers(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… si_calc_upll_dividers(9) πŸ’…

okay so welcome to the Kernel API Manual, bestie!! this is the page for si_calc_upll_dividers(9), and it's giving "math but make it clock dividers" ✨. no cap, we're keeping every single detail.


🌸 NAME 🌸

si_calc_upll_dividers β€” calc UPLL clock dividers πŸ’–


πŸ’– SYNOPSIS πŸ’–

int si_calc_upll_dividers (struct amdgpu_device *adev , unsigned vclk ,
       unsigned dclk , unsigned vco_min , unsigned vco_max , unsigned fb_factor
       , unsigned fb_mask , unsigned pd_min , unsigned pd_max , unsigned
       pd_even , unsigned *optimal_fb_div , unsigned *optimal_vclk_div ,
       unsigned *optimal_dclk_div );

✨ ARGUMENTS ✨

okay bestie, here's the whole cast β€” every single one matters 🫢

  • adev β€” amdgpu_device pointer
  • vclk β€” wanted VCLK
  • dclk β€” wanted DCLK
  • vco_min β€” minimum VCO frequency
  • vco_max β€” maximum VCO frequency
  • fb_factor β€” factor to multiply vco freq with
  • fb_mask β€” limit and bitmask for feedback divider
  • pd_min β€” post divider minimum
  • pd_max β€” post divider maximum
  • pd_even β€” post divider must be even above this value
  • optimal_fb_div β€” resulting feedback divider
  • optimal_vclk_div β€” resulting vclk post divider
  • optimal_dclk_div β€” resulting dclk post divider

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, this function calculates dividers for UVDs UPLL (except APUs) πŸ’…. It returns zero on success; -EINVAL on error. That's the whole vibe check, no cap.


πŸŽ€ SEE ALSO πŸŽ€

Kernel file ./drivers/gpu/drm/amd/amdgpu/si.c β€” go peek if you're nosy, iykyk πŸ‘€


source/version: ./drivers/gpu/drm/amd/amdgpu β€’ date: October 2026 β€’ si_calc_upll_dividers(9) β€” byeee bestie!! πŸ’œ

πŸ“¦ where this page comes from