xhci_sideban..._interrupter(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

xhci_sideband_create_interrupter β€” bestie, this one literally creates a brand-new interrupter for this sideband ✨

So basically: this is a page from the Kernel API Manual (that's the manual name, we're folding it in right here πŸŽ€) and it's all about spinning up an interrupter. Let's go πŸ’–


🌸 SYNOPSIS

int xhci_sideband_create_interrupter (struct xhci_sideband *sb , int
num_seg , bool ip_autoclear , u32 imod_interval , int intr_num );

Yeah it's a chunky signature, but she's iconic πŸ‘‘


πŸ¦‹ ARGUMENTS

  • sb β€” the sideband instance for this usb device. That's the whole context, no cap πŸ’«
  • num_seg β€” how many event ring segments you want allocated. Like, actual segments, an int, pick a number 🀠
  • ip_autoclear β€” IP autoclearing support such as MSI implemented. It's a bool, so true/false energy 🌈
  • imod_interval β€” ngl, the original page literally just says -- undescribed -- here πŸ™ˆ so that's genuinely all the info we have. It's a u32. Respect the mystery πŸ’€
  • intr_num β€” also -- undescribed -- 😭 an int, and that's the whole vibe check on this one.
Not me being fully honest with you: imod_interval and intr_num are undescribed in the source. I'm not gonna invent lore for them, periodt πŸ’…

⭐ DESCRIPTION

Okay so what this does: it sets up an xhci interrupter that can be used for this sideband accessed usb device 🫢

And here's the slay part β€” transfer events for this device can be routed to this interrupter's event ring by setting the 'Interrupter Target' field correctly when queueing the transfer TRBs. Like, correctly correctly. That field is the whole assignment, don't fumble it πŸ”₯

Once this interrupter is created, the interrupter target ID can be obtained by calling xhci_sideband_interrupter_id. That's your lookup, bestie, that's where the ID lives πŸ‘‘

Returns 0 on success, negative error otherwise. Zero means she ate. Negative means something went sideways 😭


🧚 SEE ALSO

Kernel file ./drivers/usb/host/xhci-sideband.c β€” the mothership, the source of truth πŸŽ€

That's the whole friend group 🫢 go read them too, iykyk πŸ’œ


✨ that's the page, bestie ✨ this little gem lives down in ./drivers/usb/host, dated October 2026, and yes the page be calling herself xhci_sideban..._interrupter(9) because the name got truncated and honestly? relatable πŸ’€πŸŽ€ bye bestie, go create an interrupter πŸ’–

πŸ“¦ where this page comes from