xhci_sideba...point_buffer(9)
π xhci_sideba...point_buffer(9) π
Okay bestie, welcome to the xhci_sideba...point_buffer(9) page β no cap, this one's lowkey iconic for anyone doing sideband stuff with the xHC controller. Let's get into it. β¨
πΈ NAME πΈ
xhci_sideband_get_endpoint_buffer β gets the endpoint transfer buffer address, periodt.
β¨ SYNOPSIS β¨
struct sg_table * xhci_sideband_get_endpoint_buffer (struct
xhci_sideband *sb , struct usb_host_endpoint *host_ep );
π«Ά ARGUMENTS π«Ά
sbβ the sideband instance for this usb device, your main character for this call πhost_epβ the usb host endpoint, the whole reason we're here π¦
π DESCRIPTION π
So here's the vibe: this function returns the address of the endpoint buffer where the xHC controller reads queued transfer TRBs from. It's literally the starting address of the ringbuffer β the exact spot where the sideband client should be writing TRBs to. Slay. π₯
β οΈ Bestie, listen β the caller needs to free the returned sg_table. Not optional, not a suggestion. Don't leave it hanging, okay? π
π RETURN π
struct sg_table *β if successful, you get the goods πNULLβ otherwise, it's giving nothing, empty-handed, no buffer for you π
π SEE ALSO π
Kernel file ./drivers/usb/host/xhci-sideband.c β go read it, iykyk π
xhci_sideband_notify_ep_ring_free(9)xhci_sideband_add_endpoint(9)xhci_sideband_remove_endpoint(9)xhci_sideband_get_event_buffer(9)xhci_sideband_check(9)xhci_sideband_create_interrupter(9)xhci_sideband_remove_interrupter(9)xhci_sideband_interrupter_id(9)xhci_sideband_register(9)xhci_sideband_unregister(9)
Okay that's the whole page, bestie β you ate that. π This gem lives under ./drivers/usb/host, straight outta the Kernel API Manual, dated October 2026. Go forth and buffer responsibly. πβ¨π«Ά
π¦ 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