bcm63xx_udc_queue(9)
π bcm63xx_udc_queue(9) π
okay so this whole lil page lives in the Kernel API Manual, and it's giving "how do I queue a USB request without spiraling" energy. bestie, let's get into it β¨
πΈ NAME πΈ
bcm63xx_udc_queue β queue up a brand-new request, slay π
π SYNOPSIS π
int bcm63xx_udc_queue (struct usb_ep *ep , struct usb_request *req ,
gfp_t mem_flags );
π¦ ARGUMENTS π¦
epβ the endpoint that's associated with the request, iykyk π«Άreqβ the request we're adding to the queue, main character energy fr frmem_flagsβ unused. literally not used here, it's just vibing π
π DESCRIPTION π
If the queue is empty, this request gets started immediately β no waiting, no line, she's up π₯ Otherwise, it gets added to the list. periodt π
ep0 replies are sent through this function from the gadget driver, but they're treated differently because they need to be handled by the ep0 state machine. Sometimes they're replies to control requests that were spoofed by this driver, and so they shouldn't be transmitted at all π β yes, that's a whole thing, and yes, it matters.
π SEE ALSO π
Kernel file ./drivers/usb/gadget/udc/bcm63xx_udc.c, plus all these icons:
struct iudma_ch_cfg(9)struct iudma_ch(9)struct bcm63xx_ep(9)struct bcm63xx_req(9)struct bcm63xx_udc(9)bcm63xx_ep_dma_select(9)bcm63xx_set_stall(9)bcm63xx_fifo_setup(9)bcm63xx_fifo_reset_ep(9)bcm63xx_fifo_reset(9)bcm63xx_ep_init(9)bcm63xx_ep_setup(9)iudma_write(9)iudma_read(9)iudma_reset_channel(9)iudma_init_channel(9)iudma_init(9)iudma_uninit(9)bcm63xx_set_ctrl_irqs(9)bcm63xx_select_phy_mode(9)bcm63xx_select_pullup(9)bcm63xx_uninit_udc_hw(9)bcm63xx_init_udc_hw(9)bcm63xx_ep_enable(9)bcm63xx_ep_disable(9)bcm63xx_udc_alloc_request(9)bcm63xx_udc_free_request(9)bcm63xx_udc_dequeue(9)bcm63xx_udc_set_halt(9)bcm63xx_udc_set_wedge(9)bcm63xx_ep0_setup_callback(9)bcm63xx_ep0_spoof_set_cfg(9)bcm63xx_ep0_spoof_set_iface(9)bcm63xx_ep0_map_write(9)bcm63xx_ep0_complete(9)bcm63xx_ep0_nuke_reply(9)bcm63xx_ep0_read_complete(9)bcm63xx_ep0_internal_request(9)bcm63xx_ep0_do_setup(9)bcm63xx_ep0_do_idle(9)bcm63xx_ep0_one_round(9)bcm63xx_ep0_process(9)bcm63xx_udc_get_frame(9)bcm63xx_udc_pullup(9)bcm63xx_udc_start(9)bcm63xx_udc_stop(9)bcm63xx_update_cfg_iface(9)bcm63xx_update_link_speed(9)bcm63xx_update_wedge(9)bcm63xx_udc_ctrl_isr(9)bcm63xx_udc_data_isr(9)bcm63xx_udc_init_debugfs(9)bcm63xx_udc_cleanup_debugfs(9)bcm63xx_udc_probe(9)bcm63xx_udc_remove(9)
okay and for the cute lil sign-off: this page comes from ./drivers/usb/gadget/udc, dated October 2026, and it's the bcm63xx_udc_queue(9) page from the Kernel API Manual β drink water, queue your requests responsibly, and stan the ep0 state machine πβ¨π
π¦ 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