STRUCT TI_SCI_INTA_IRQ_DOMAIN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ti_sci_inta_irq_domain β€” NAME ✨

okay so bestie, this is the page for struct ti_sci_inta_irq_domain in the Kernel API Manual β€” and it's literally the structure that represents a TISCI based Interrupt Aggregator IRQ domain. that's the whole vibe, no cap. πŸŽ€


πŸ¦‹ SYNOPSIS

struct ti_sci_inta_irq_domain {
    const struct ti_sci_handle *sci;
    struct ti_sci_resource *vint;
    struct ti_sci_resource *global_event;
    struct list_head vint_list;
    struct mutex vint_mutex;
    void __iomem *base;
    struct platform_device *pdev;
    u32 ti_sci_id;
    int unmapped_cnt;
    u16 *unmapped_dev_ids;
 };

like, that's the whole struct, copy-pasted straight from the source, don't @ me πŸ’–


🌸 Members ✨

okay let's go through every single field because we do NOT skip details in this house πŸ‘‘

  • sci β€” pointer to the TISCI handle. your main character pointer, fr.
  • vint β€” TISCI resource pointer representing IA interrupts. that's the interrupt-aggregator interrupt resource, iykyk.
  • global_event β€” TISCI resource pointer representing global events. yes it's a whole separate resource pointer, slay.
  • vint_list β€” list of the vints that are active in the system. πŸ“‹
  • vint_mutex β€” mutex that protects vint_list. do NOT touch that list without it, bestie, that's the whole point πŸ™ˆ
  • base β€” base address of the memory mapped IO registers. void __iomem *, iconic.
  • pdev β€” pointer to platform device. yes queen, the platform device itself.
  • ti_sci_id β€” TI-SCI device identifier. a u32, obviously.
  • unmapped_cnt β€” the number of unmapped_dev_ids entries. just a count, int, living its life.
  • unmapped_dev_ids β€” pointer to an array of TI-SCI device identifiers of unmapped event sources. ok so this one needs the full explanation and it's genuinely so good:

Unmapped Events are not part of the Global Event Map, and they get converted to a Global event within INTA so they can be received by that same INTA and generate an interrupt. ✨

And here's the crucial part: in case an interrupt request comes for a device that's generating an Unmapped Event, we must use the INTA's TI-SCI device identifier in place of the source device identifier β€” so that sysfw knows where it has to program the Global Event number. that's the whole reason this array exists, bestie, don't forget it 🫢


🌈 SEE ALSO

kernel file ./drivers/irqchip/irq-ti-sci-inta.c plus all these beauties:

like, read them, they're all connected, it's giving lore πŸ€“πŸ’œ


ok that's the whole page, nothing skipped, every member accounted for. go forth and understand your interrupt aggregator domain, bestie πŸ’…βœ¨

and that's a wrap! πŸŽ€ this came out of the Kernel API Manual, sourced from ./drivers/irqchip, dated October 2026 β€” struct ti_s...a_irq_domain(9), mwah, periodt πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from