ti_sci_set_irq(9)
π« ti_sci_set_irq (9) β Kernel API Manual π«
okay so bestie, welcome to the Kernel API Manual page for ti_sci_set_irq(9) β it's the helper api that configures the irq route between the source you asked for and the destination you asked for π like it literally just wires up the interrupt road trip, iykyk.
β¨ NAME β¨
ti_sci_set_irq β Helper api to configure the irq route between the requested source and destination π¦
πΈ SYNOPSIS πΈ
int ti_sci_set_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 );
no cap, that's a lot of parameters, but every single one is doing its little job π
π ARGUMENTS π
handleβ Pointer to TISCI handle. your main character struct, fr fr π«Άvalid_paramsβ Bit fields defining the validity of certain params. it's giving "which of my friends actually showed up to the group chat" energy βsrc_idβ Device ID of the IRQ source. where the interrupt is coming from πsrc_indexβ IRQ source index within the source device. the little slot number inside that device, yep πdst_idβ Device ID of the IRQ destination. where it's headed πdst_host_irqβ IRQ number of the destination device. the specific irq number on the destination side π₯ia_idβ Device ID of the IA, if the IRQ flows through this IA. only relevant when it passes through, okay? πΈvintβ Virtual interrupt to be used within the IA. the virtual one πglobal_eventβ Global event number to be used for the requesting event. the event's global passport number ngl π¦vint_status_bitβ Virtual interrupt status bit to be used for the event. literally the status bit πs_hostβ Secondary host ID to which the irq/event is being requested for. yes it ends in a period in the original and yes we respect it π
β RETURN β
0 if all went fine, else return appropriate error. that's it, that's the vibe check β zero means slay, anything else means something's up π
π SEE ALSO π
Kernel file ./drivers/firmware/ti_sci.c π and honestly, bestie, buckle up, because this is the whole friend group:
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_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)
bestie, this page lives in ./drivers/firmware and it's dated October 2026 β so go configure those irq routes and absolutely slay the day, 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