ti_sci_cmd_idle_clock(9)
π ti_sci_cmd_idle_clock(9) β from the Kernel API Manual, bestie π
okay so picture this: it's a kernel API manual page, it's serving <purple>TI SCI</purple> realness, and this one function is literally the "please chill out, clock" button. Let's get into it β¨
πΈ NAME πΈ
ti_sci_cmd_idle_clock β idle a clock which is in our control. that's it. that's the whole vibe. π«Ά
β¨ SYNOPSIS β¨
int ti_sci_cmd_idle_clock (const struct ti_sci_handle *handle , u32
dev_id , u32 clk_id );
look at her. iconic signature. no notes. π
π¦ ARGUMENTS π¦
handleβ pointer to the TI SCI handle. this is your VIP pass to the whole TI SCI situation, don't lose it πdev_idβ the device identifier this request is for. which device are we talking to? this one. π―clk_idβ the clock identifier for the device for this request. and listen: each device has its own set of clock inputs (fr fr, they don't share), so this indexes which clock input to modify. it's giving "pick your fighter" energy πΉοΈ
π NOTE π
this clock must have been requested by get_clock previously. like, previously previously. no sneaky idling a clock you never asked for, bestie, that's not the move π
π RETURN π
0 if all went well β slay, we love a zero π β else it returns the appropriate error value. read that error, don't ignore it, i'm begging π₯Ί
π₯ SEE ALSO π₯
okay this part is a whole friend group, everybody's here, it's a party π starting with the kernel file:
Kernel file ./drivers/firmware/ti_sci.c
then the structs and the entire extended fam:
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_state(9)ti_sci_cmd_get_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. full party. everyone came. π
and that's the page!! sourced from ./drivers/firmware, dated October 2026 β okurrr, go idle some clocks responsibly, mwah πβ¨
π¦ 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