dfll_request_rate(9)
π dfll_request_rate β ok so this is the glow-up page for setting the DFLL's next rate π
Welcome to the Kernel API Manual, bestie π β this little page is all about dfll_request_rate, and honestly? It's giving "tell the clock what vibe we're going for next." Let's go β¨
πΈ NAME πΈ
dfll_request_rate β set the next rate for the DFLL to tune to π―
β¨ SYNOPSIS β¨
int dfll_request_rate (struct tegra_dfll *td , unsigned long rate );
π«Ά ARGUMENTS π«Ά
tdβ the DFLL instance, like, the specific one you're talking to πrateβ the clock rate you want to target, iykyk π
π₯ DESCRIPTION π₯
So what this does is take the requested clock rate rate and convert it into the DFLL control logic settings. Literally translating your dreams into registers π
Here's the tea on the two modes:
- If you're in closed-loop mode, it'll update the new settings immediately so the DFLL output rate adjusts accordingly β instant main character energy β¨
- Otherwise, it just saves them and chills until the next switch to closed loop π€
Return values, no cap:
0upon success β slay π-EPERMif the DFLL driver has not yet been initialized β rude, but okay π-EINVALifrateis outside the DFLL's tunable range β bestie that rate is not it π
π SEE ALSO π
Kernel file ./drivers/clk/tegra/clk-dfll.c plus this whole friend group:
enum dfll_ctrl_mode(9)enum dfll_tune_range(9)struct dfll_rate_req(9)dfll_is_running(9)tegra_dfll_runtime_resume(9)tegra_dfll_runtime_suspend(9)dfll_tune_low(9)dfll_scale_dvco_rate(9)dfll_set_mode(9)dfll_i2c_set_output_enabled(9)dfll_pwm_set_output_enabled(9)dfll_set_force_output_value(9)dfll_set_force_output_enabled(9)dfll_force_output(9)dfll_load_i2c_lut(9)dfll_init_i2c_if(9)dfll_init_out_if(9)find_lut_index_for_rate(9)dfll_calculate_rate_request(9)dfll_set_frequency_request(9)dfll_disable(9)dfll_enable(9)dfll_set_open_loop_config(9)dfll_lock(9)dfll_unlock(9)dfll_register_clk(9)dfll_unregister_clk(9)dfll_calc_monitored_rate(9)dfll_read_monitor_rate(9)dfll_set_default_params(9)dfll_init_clks(9)dfll_init(9)tegra_dfll_suspend(9)tegra_dfll_resume(9)dfll_build_i2c_lut(9)read_dt_param(9)dfll_fetch_i2c_params(9)dfll_fetch_common_params(9)tegra_dfll_register(9)tegra_dfll_unregister(9)
π Friendly reminder bestie:-EINVALmeans yourratewas out of range, and-EPERMmeans the driver wasn't initialized yet. Check those before you spiral π«Ά
And that's the whole page, periodt π§ This one lives down in ./drivers/clk/tegra, dated October 2026 β go drink some water and go touch a clock tree ππβ¨
π¦ 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