_omap3_noncore_dpll_bypass(9)
π _omap3_noncore_dpll_bypass(9) β¨
okay so this is a page from the Kernel API Manual, and bestie, it's giving "tiny function, big responsibilities." let's get into it π«Ά
πΈ NAME πΈ
_omap3_noncore_dpll_bypass β literally just tells a DPLL to go bypass mode and then waits for it to be ready π
π¦ SYNOPSIS π¦
int _omap3_noncore_dpll_bypass (struct clk_hw_omap *clk );
π ARGUMENTS π
clkβ a pointer to a DPLLstruct clk, that's it, that's the whole arg list β¨
π DESCRIPTION π
so what this does is it instructs a non-CORE DPLL to enter low-power bypass mode. π§ in bypass mode, the DPLL's rate gets set equal to its parent clock's rate β like, it just copies the parent's vibe, no cap.
then it waits for the DPLL to report readiness before returning, because we don't leave the group chat until everyone's actually there π
it also saves and restores the DPLL's autoidle state across the enable, per the CDP code. iconic behavior honestly.
return values, listen up:
- if the DPLL entered bypass mode successfully β returns
0β - if the DPLL did not enter bypass in the time allotted β returns
-EINVALπ - if
DPLL3was passed in β returns-EINVALπ - if the DPLL just does not support low-power bypass β returns
-EINVALπ
so yeah, -EINVAL is doing a lot of heavy lifting here. three separate ways to get it. know them, love them, fear them.
π SEE ALSO π
the kernel file ./drivers/clk/ti/dpll3xxx.c is where this lives, and here's the whole friend group π―ββοΈβ¨:
_omap3_noncore_dpll_lock(9)_omap3_noncore_dpll_stop(9)_lookup_dco(9)_lookup_sddiv(9)omap3_noncore_dpll_ssc_program(9)omap3_noncore_dpll_program(9)omap3_dpll_recalc(9)omap3_noncore_dpll_enable(9)omap3_noncore_dpll_disable(9)omap3_noncore_dpll_determine_rate(9)omap3_noncore_dpll_set_parent(9)omap3_noncore_dpll_set_rate(9)omap3_noncore_dpll_set_rate_and_parent(9)omap3_dpll_autoidle_read(9)omap3_dpll_allow_idle(9)omap3_dpll_deny_idle(9)omap3_clkoutx2_recalc(9)omap3_core_dpll_save_context(9)omap3_core_dpll_restore_context(9)omap3_noncore_dpll_save_context(9)omap3_noncore_dpll_restore_context(9)omap3_dpll4_set_rate(9)omap3_dpll4_set_rate_and_parent(9)omap3_dpll5_set_rate(9)
that's the whole page babes, go read the source at ./drivers/clk/ti β this edition dropped October 2026, so it's fresh π mwah, slay, bye ππ
π¦ 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