ti_sci_cmd_idle_device(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’€ 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 balancing get_device with put_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