STRUCT TI_SCI_MSG_REQ_GET_CLOCK_STATE(9)
π struct ti_sci_msg_req_get_clock_state(9) π
okay so this is from the Kernel API Manual, bestie β welcome to the TI SCI corner of the kernel, it's giving β¨firmwareβ¨ and honestly it eats.
πΈ NAME πΈ
struct ti_sci_msg_req_get_clock_state β the request-for-clock-state struct, no cap. That's literally its whole job π«Ά
β¨ SYNOPSIS β¨
here's the whole vibe, character for character:
struct ti_sci_msg_req_get_clock_state {
struct ti_sci_msg_hdr hdr;
u32 dev_id;
u8 clk_id;
u32 clk_id_32;
};
likeβ¦ four fields. four. and they're all doing main-character work π₯
π Members π
hdrβ the generic header. it's the generic one. every message has one, it's the β¨base layerβ¨ of this outfit.dev_idβ the device identifier this request is for. which device are we talking about? this. this is which π¦clk_idβ the clock identifier for the device, for this request. and listen, each device has its own set of clock inputs, so this indexes which clock input you wanna get the state of. also: set this to255if the clock ID is greater than or equal to255. yes really.255. that's the "too big for this field, see the next one" bat-signal πclk_id_32β the clock identifier for the device, for the request. but ONLY to be used if the clock ID is greater than or equal to255. it's the overflow bestie. don't use it for small IDs, that's not its moment π
π Description π
so the request type is TI_SCI_MSG_GET_CLOCK_STATE, and the response you get back is the state of the clock. that's it. that's the whole plot π¬ icon status fr fr
ngl it's a very chill struct β you pass in a device and a clock, the firmware tells you what state that clock is in. no drama, no surprises π
π¦ SEE ALSO π¦
the whole squad, in kernel file ./drivers/firmware/ti_sci.h β assembles:
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_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_req_query_clock_freq(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 π go read them, they're all lowkey iconic in their own way.
okay that's the whole page, bestie β sign-off time π this one lives in ./drivers/firmware, dated October 2026, and the header/footer title it as struct ti_s..._clock_state(9) (the terminal truncates it, not me π). 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