STRUCT TI_SCI_MSG_REQ_GET_CLOCK_PARENT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay so this is struct ti_sci_msg_req_get_clock_parent from the Kernel API Manual, and it does exactly one (1) job: get the clock parent. that's it. that's the vibe. πŸ’…


🫢 SYNOPSIS 🫢

struct ti_sci_msg_req_get_clock_parent {
    struct ti_sci_msg_hdr hdr;
    u32 dev_id;
    u8 clk_id;
    u32 clk_id_32;
 };

like look at her. four fields. immaculate structure. no notes. πŸŽ€


πŸ’… MEMBERS πŸ’…

  • hdr β€” the Generic Header, aka the little intro every message wears before it says anything. iconic.
  • dev_id β€” the Device identifier this request is for. it's giving "which device are we talking about bestie".
  • clk_id β€” the Clock identifier for the device for this request. each device has it's own set of clock inputs, and this indexes which clock input to get the parent for. and here's the plot twist: if this field contains 255, the actual clock identifier is stored in clk_id_32. so 255 is basically the "see next field" pass-the-aux moment. πŸ’€
  • clk_id_32 β€” the Clock identifier if the clk_id field contains 255. the backup dancer that becomes the main character. πŸ‘‘

πŸŽ€ DESCRIPTION πŸŽ€

so the request type here is TI_SCI_MSG_GET_CLOCK_PARENT, and the response is parent information. that's the whole story. you ask "who's your parent" and the response literally tells you. slay. 🌸


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/firmware/ti_sci.h β€” go read the whole friend group, no cap:

  • 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_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)

that's the whole page bestie, every field, every 255, every single struct in SEE ALSO. nothing skipped, periodt. 🫢

and before you go β€” this little masterpiece lives in ./drivers/firmware and it's dated October 2026. yes, future-dated. she's ahead of her time. main character energy fr fr. πŸŒˆβ­πŸ’œ

πŸ“¦ where this page comes from