ti_sci_set_irq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« 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