ti_sci_free_irq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« ti_sci_free_irq πŸ’«

okay bestie, welcome to the Kernel API Manual β€” yes this is a real man page, yes it's from the kernel, and yes we're gonna get through it together 🫢 this one's called ti_sci_free_irq, and it's the helper api that frees the irq route between the source you asked for and the destination you asked for. that's the whole vibe. clean up your irq routing, periodt ✨


πŸŽ€ NAME πŸŽ€

ti_sci_free_irq β€” the helper api that frees the irq route between the requested source and destination πŸ’…


🌸 SYNOPSIS 🌸

int ti_sci_free_irq (const struct ti_sci_handle *handle , u32
valid_params , u16 src_id , u16 src_index , u16 dst_id , u16
dst_host_irq , u16 ia_id , u16 vint , u16 global_event , u8
vint_status_bit , u8 s_host );

like, look at all those params. it's giving "i know exactly what i'm doing" energy and honestly? it does πŸ”₯


πŸ¦‹ ARGUMENTS πŸ¦‹

okay so here's everybody in the group chat, one by one πŸ‘‘

  • handle β€” pointer to the TISCI handle. your main character pointer fr.
  • valid_params β€” bit fields that define the validity of certain params. iykyk β€” these bits say which of the params below actually mean something ✨
  • src_id β€” device ID of the IRQ source. where it's coming from πŸ’–
  • src_index β€” the IRQ source index within the source device. gotta be specific, bestie.
  • dst_id β€” device ID of the IRQ destination. where it's going 🎯
  • dst_host_irq β€” the IRQ number of the destination device.
  • ia_id β€” device ID of the IA, if the IRQ flows through this IA. conditional queen 🌈
  • vint β€” the virtual interrupt to be used within the IA.
  • global_event β€” the global event number to be used for the requesting event.
  • vint_status_bit β€” the virtual interrupt status bit to be used for the event.
  • s_host β€” secondary host ID that the irq/event is being requested for 🫢

⭐ RETURN ⭐

returns 0 if all went fine πŸ’š β€” otherwise it returns the appropriate error 😭 no cap, check that return value.


πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file is ./drivers/firmware/ti_sci.c, and honestly the whole friend group shows up here. every single one, no skipping:

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


also lowkey: if any of those names already look like gibberish, that's normal, that's just kernel naming conventions living their truth πŸ’€

and that's the page, bestie!! 🧚 this cutie lives in ./drivers/firmware, stamped October 2026 β€” so go free that irq route and slay πŸ’–βœ¨πŸ“

πŸ“¦ where this page comes from