ti_sci_cmd_idle_device(9)
π€ ti_sci_cmd_idle_device(9) β like, the Kernel API Manual page, bestie β¨
okay so picture this: it's a whole manual page from the Kernel API Manual, and it's about telling a TISCI-managed device to go take a lil nap π΄. name's ti_sci_cmd_idle_device, and honestly? iconic behaviour.
π¦ NAME π¦
ti_sci_cmd_idle_device β the command that puts a device managed by TISCI into idle. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
int ti_sci_cmd_idle_device (const struct ti_sci_handle *handle , u32 id );
like, you hand it a handle and an id and it returns an int. simple. clean. we love her π
π ARGUMENTS π
handleβ a pointer to the TISCI handle, the one you got from*ti_sci_get_handle. you gotta have this first, no skipping steps β¨idβ the Device Identifier. yes, the actual id of the device you're idling. not optional, bestie π«Ά
π DESCRIPTION π
so this is the request-for-the-device situation. and listen β read this part twice, fr fr:
β οΈ NOTE: the client MUST maintain integrity of usage count by balancingget_devicewithput_device. No refcounting is managed by driver for that purpose. π
translation: you balance your own get_device / put_device calls, because the driver is not out here refcounting for you. it's giving "you're on your own, main character energy" π. do not skip the balance, it's not a vibe.
β RETURN β
0β all went fine, everything slayed, we're good π- else β returns the appropriate error. so like, check it. please. for me π
π₯ SEE ALSO π₯
okay so this is the part where the page just goes absolutely feral with cross-references β the kernel file ./drivers/firmware/ti_sci.c, plus 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_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_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).
yeah. that's a lot. i said what i said π§ iykyk.
and that's the whole page, bestie!! π this lil cutie lives in ./drivers/firmware, dated October 2026, and yes the version is the ti_sci_cmd_idle_device(9) flavour of the Kernel API Manual π now go balance your get_device/put_device calls, ily, 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