ti_sci_cmd_get_clock_state(9)
π ti_sci_cmd_get_clock_state β straight out of the Kernel API Manual, bestie β¨
Okay so picture this: you're deep in the TI SCI firmware layer (./drivers/firmware/ti_sci.c, we'll get there) and you just need to know what a clock is doing. That's it. That's the whole vibe. This little helper is your girl π
πΈ NAME πΈ
ti_sci_cmd_get_clock_state β the get-clock-state helper, no cap. It's giving "just tell me the state of this clock" energy and honestly? Iconic.
π SYNOPSIS π
int ti_sci_cmd_get_clock_state (const struct ti_sci_handle *handle , u32 dev_id , u32 clk_id , u8 *programmed_state , u8 *current_state );
That's the whole signature, character for character, do not come for me π«Ά
π¦ ARGUMENTS π¦
handleβ pointer to the TI SCI handle. This is your main character, your entry pass to the whole SCI situation πdev_idβ the device identifier this request is for. Whose clock are we snooping on? This one.clk_idβ the clock identifier for the device for this request. Lowkey important detail: each device has its own set of clock inputs, and this indexes which clock input to modify. Yes, "modify" β that's literally what the original says, I'm not gonna pretend otherwise πprogrammed_stateβ the state requested for the clock to move to. Like, the state somebody asked for. The intended vibe.current_stateβ the state the clock is currently in. The reality check. The vibe check, if you will β¨
β RETURN β
0 if all went well π β otherwise it returns the appropriate error value π. So basically: zero is the slay, anything else is a "girl, check the error" moment.
π₯ SEE ALSO π₯
Kernel file ./drivers/firmware/ti_sci.c β and literally the entire TI SCI extended family, because this function does not exist in isolation, bestie, it has connections π
struct ti_sci_xfer(9)struct ti_sci_xfers_info(9)struct ti_sci_desc(9)struct ti_sci_irq(9)struct ti_sci_info(9)ti_sci_debug_show(9)ti_sci_debugfs_create(9)ti_sci_dump_header_dbg(9)ti_sci_rx_callback(9)ti_sci_get_one_xfer(9)ti_sci_put_one_xfer(9)ti_sci_do_xfer(9)ti_sci_cmd_get_revision(9)ti_sci_is_response_ack(9)ti_sci_set_device_state(9)ti_sci_get_device_state(9)ti_sci_cmd_get_device(9)ti_sci_cmd_get_device_exclusive(9)ti_sci_cmd_idle_device(9)ti_sci_cmd_idle_device_exclusive(9)ti_sci_cmd_put_device(9)ti_sci_cmd_dev_is_valid(9)ti_sci_cmd_dev_get_clcnt(9)ti_sci_cmd_dev_is_idle(9)ti_sci_cmd_dev_is_stop(9)ti_sci_cmd_dev_is_on(9)ti_sci_cmd_dev_is_trans(9)ti_sci_cmd_set_device_resets(9)ti_sci_cmd_get_device_resets(9)ti_sci_set_clock_state(9)ti_sci_cmd_get_clock(9)ti_sci_cmd_idle_clock(9)ti_sci_cmd_put_clock(9)ti_sci_cmd_clk_is_auto(9)ti_sci_cmd_clk_is_on(9)ti_sci_cmd_clk_is_off(9)ti_sci_cmd_clk_set_parent(9)ti_sci_cmd_clk_get_parent(9)ti_sci_cmd_clk_get_num_parents(9)ti_sci_cmd_clk_get_match_freq(9)ti_sci_cmd_clk_set_freq(9)ti_sci_cmd_clk_get_freq(9)ti_sci_cmd_prepare_sleep(9)ti_sci_msg_cmd_query_fw_caps(9)ti_sci_cmd_set_io_isolation(9)ti_sci_msg_cmd_lpm_wake_reason(9)ti_sci_cmd_set_device_constraint(9)ti_sci_cmd_set_latency_constraint(9)ti_sci_cmd_lpm_abort(9)ti_sci_get_resource_range(9)ti_sci_cmd_get_resource_range(9)ti_sci_cmd_get_resource_range_from_shost(9)ti_sci_manage_irq(9)ti_sci_irq_hash(9)ti_sci_irq_equal(9)ti_sci_set_irq(9)ti_sci_free_irq(9)ti_sci_cmd_set_irq(9)ti_sci_cmd_set_event_map(9)ti_sci_cmd_free_irq(9)ti_sci_cmd_free_event_map(9)ti_sci_cmd_rm_ring_cfg(9)ti_sci_cmd_rm_psil_pair(9)ti_sci_cmd_rm_psil_unpair(9)ti_sci_cmd_rm_udmap_tx_ch_cfg(9)ti_sci_cmd_rm_udmap_rx_ch_cfg(9)ti_sci_cmd_rm_udmap_rx_flow_cfg(9)ti_sci_cmd_proc_request(9)ti_sci_cmd_proc_release(9)ti_sci_cmd_proc_handover(9)ti_sci_cmd_proc_set_config(9)ti_sci_cmd_proc_set_control(9)ti_sci_cmd_proc_get_status(9)ti_sci_get_handle(9)ti_sci_put_handle(9)devm_ti_sci_get_handle(9)ti_sci_get_by_phandle(9)devm_ti_sci_get_by_phandle(9)ti_sci_get_free_resource(9)ti_sci_release_resource(9)ti_sci_get_num_resources(9)devm_ti_sci_get_resource_sets(9)devm_ti_sci_get_of_resource(9)devm_ti_sci_get_resource(9)
Like I said. Connections. π§
And that's the page, bestie β go read your clock states responsibly π
Sign-off time π this one lives under ./drivers/firmware and it's dated October 2026, so yeah, it's got that cute little timestamp on it. Byeee β¨
π¦ 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