dfll_calculate_rate_request(9)
π
dfll_calculate_rate_request(9) β the dfll_calculate_rate_request kernel API manual, bestie edition
okay so picture this: you're deep in the Linux kernel, specifically the dfll_calculate_rate_request(9) page from the Kernel API Manual, and you need DFLL parameters for a rate. that's the whole vibe. let's get into it π«Ά
β¨ NAME β¨
dfll_calculate_rate_request β literally calculates DFLL parameters for a given rate. that's it, that's the function π
πΈ SYNOPSIS πΈ
int dfll_calculate_rate_request (struct tegra_dfll *td , struct
dfll_rate_req *req , unsigned long rate );
π ARGUMENTS π
tdβ your DFLL instance, the main character of this whole situation πreqβ the DFLL-rate-request structure bestie, this is what we're filling inrateβ the desired DFLL rate, aka the goal, the dream, the target β¨
π¦ DESCRIPTION π¦
so what this does is it populates the DFLL-rate-request record req's fields β specifically the scale_bits and mult_bits fields β based on the target input rate. no cap, that's the whole job.
returns 0 upon success π β¦ or -EINVAL if the requested rate in req->rate is too high or too low for the DFLL to generate π like it's giving "girl that rate is not happening" energy. too much, too little, either way, invalid.
fr fr: if you're getting-EINVALback, check thatreq->rateis actually in range for the DFLL before you start blaming the driver π
π SEE ALSO π
the whole friend group, in order, and yes we're listing every single one because we don't do "etc." around here π
Kernel file ./drivers/clk/tegra/clk-dfll.c, plus:
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_set_frequency_request(9)dfll_request_rate(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)
okay that's the page!! mwah π this came out of ./drivers/clk/tegra with a date of October 2026, and the page itself is dfll_calculate_rate_request(9) β go forth and calculate those rate requests, bestie, you're gonna slay π§ββοΈβ
π¦ 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