STRUCT TI_SCI_MSG_REQ_QUERY_CLOCK_FREQ(9)
β¨ struct ti_sci_msg_req_query_clock_freq(9) β¨
okay bestie, so this is a page straight out of the Kernel API Manual, and it's literally all about one little struct that goes "hey, what's your frequency?" π Yes, we're being that kind of nosy and it's iconic.
πΈ NAME πΈ
struct ti_sci_msg_req_query_clock_freq β the request you send when you wanna query a frequency, no cap π
π¦ SYNOPSIS π¦
struct ti_sci_msg_req_query_clock_freq {
struct ti_sci_msg_hdr hdr;
u32 dev_id;
u64 min_freq_hz;
u64 target_freq_hz;
u64 max_freq_hz;
u8 clk_id;
u32 clk_id_32;
};
likeβ¦ look at her. she's giving structured data main character energy π
β¨ DESCRIPTION β¨
π Members π
here's the cast, one by one, and yes every single one matters:
hdrβ the Generic Header, aka the boring-but-essential opening act π«Άdev_idβ Device identifier this request is for. like, which device are we talking to, bestie? πmin_freq_hzβ The minimum allowable frequency in Hz. and read this carefully: this is the minimum allowable programmed frequency, and it does not account for clock tolerances and jitter. so don't come for it later, okay? πtarget_freq_hzβ The target clock frequency. the system will find a frequency as close to this target frequency as possible β she tries her best, and honestly? that's all we ask πmax_freq_hzβ The maximum allowable frequency in Hz. same disclaimer as min: this is the maximum allowable programmed frequency and it does not account for clock tolerances and jitter. periodt β οΈclk_idβ Clock identifier for the device for this request. Set to255if the clock identifier is greater than or equal to255πclk_id_32β the Clock identifier ifclk_idis set to255. that's the backup dancer for when the u8 can't hold the whole vibe π©°
π NOTE π
Normally, clock frequency management is automatically done by the TISCI entity β like, it handles itself, she's independent, we love that for her β¨
But in the case of specific requests, TISCI evaluates capability to achieve the requested frequency within the provided range and responds with a result message. so if you do come knocking, she checks whether she can actually deliver before she commits π
Request type isTI_SCI_MSG_QUERY_CLOCK_FREQ, and the response is the appropriate message β or aNACKin case of inability to satisfy the request. yes, a NACK. it's a no. take it gracefully bestie π
π₯ SEE ALSO π₯
the whole friend group π« β Kernel file ./drivers/firmware/ti_sci.h, plus:
struct ti_sci_msg_hdr(9)struct ti_sci_msg_resp_version(9)struct ti_sci_msg_req_reboot(9)struct ti_sci_msg_resp_query_fw_caps(9)struct ti_sci_msg_req_set_device_state(9)struct ti_sci_msg_req_get_device_state(9)struct ti_sci_msg_resp_get_device_state(9)struct ti_sci_msg_req_set_device_resets(9)struct ti_sci_msg_req_set_clock_state(9)struct ti_sci_msg_req_get_clock_state(9)struct ti_sci_msg_resp_get_clock_state(9)struct ti_sci_msg_req_set_clock_parent(9)struct ti_sci_msg_req_get_clock_parent(9)struct ti_sci_msg_resp_get_clock_parent(9)struct ti_sci_msg_req_get_clock_num_parents(9)struct ti_sci_msg_resp_get_clock_num_parents(9)struct ti_sci_msg_resp_query_clock_freq(9)struct ti_sci_msg_req_set_clock_freq(9)struct ti_sci_msg_req_get_clock_freq(9)struct ti_sci_msg_resp_get_clock_freq(9)struct ti_sci_msg_req_prepare_sleep(9)struct ti_sci_msg_req_set_io_isolation(9)struct ti_sci_msg_resp_lpm_wake_reason(9)struct ti_sci_msg_req_lpm_set_device_constraint(9)struct ti_sci_msg_req_lpm_set_latency_constraint(9)struct ti_sci_msg_req_get_resource_range(9)struct ti_sci_msg_resp_get_resource_range(9)struct ti_sci_msg_req_manage_irq(9)struct ti_sci_msg_rm_ring_cfg_req(9)struct ti_sci_msg_psil_pair(9)struct ti_sci_msg_psil_unpair(9)struct ti_sci_msg_udmap_rx_flow_cfg(9)struct rm_ti_sci_msg_udmap_rx_flow_opt_cfg(9)struct ti_sci_msg_rm_udmap_tx_ch_cfg_req(9)struct ti_sci_msg_rm_udmap_rx_ch_cfg_req(9)struct ti_sci_msg_rm_udmap_flow_cfg_req(9)struct ti_sci_msg_req_proc_request(9)struct ti_sci_msg_req_proc_release(9)struct ti_sci_msg_req_proc_handover(9)struct ti_sci_msg_req_set_config(9)struct ti_sci_msg_req_set_ctrl(9)struct ti_sci_msg_req_get_status(9)struct ti_sci_msg_resp_get_status(9)
iykyk, that's a lot of structs and every single one is invited to the function π
and that's the whole page, bestie π she lives in ./drivers/firmware, she's dated October 2026, and the footer goes struct ti_sc...y_clock_freq(9) β so yeah, the abbreviated header showed up one last time to say bye π go query some frequencies, you got this π§β¨
π¦ 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