dwc2_qh_init(9)
okay bestie, welcome to the dwc2_qh_init(9) page from the Kernel API Manual π
this one is short and sweet, and itβs giving βinit that QH structureβ energy.
πΈ NAME πΈ
dwc2_qh_init β Initializes a QH structure. Thatβs the whole vibe: it initializes a QH structure, periodt β¨
β¨ SYNOPSIS β¨
void dwc2_qh_init (struct dwc2_hsotg *hsotg , struct dwc2_qh *qh ,
struct dwc2_hcd_urb *urb , gfp_t mem_flags );
π ARGUMENTS π
hsotgβ the HCD state structure for the DWC OTG controller, aka the controllerβs main-character state πqhβ the QH to init, bestie, thatβs the one getting set up π«Άurbβ holds the information about the device/endpoint needed to initialize the QH πmem_flagsβ flags for allocating memory. literally the memory-allocation receipts π
π¦ SEE ALSO π¦
Kernel file: ./drivers/usb/dwc2/hcd_queue.c
the whole squad of related calls:
dwc2_periodic_channel_available(9)dwc2_check_periodic_bandwidth(9)pmap_schedule(9)pmap_unschedule(9)dwc2_get_ls_map(9)dwc2_qh_print(9)dwc2_qh_schedule_print(9)dwc2_ls_pmap_schedule(9)dwc2_ls_pmap_unschedule(9)dwc2_hs_pmap_schedule(9)dwc2_hs_pmap_unschedule(9)dwc2_uframe_schedule_split(9)dwc2_uframe_schedule_hs(9)dwc2_uframe_schedule_ls(9)dwc2_uframe_schedule(9)dwc2_uframe_unschedule(9)dwc2_pick_first_frame(9)dwc2_do_reserve(9)dwc2_do_unreserve(9)dwc2_unreserve_timer_fn(9)dwc2_check_max_xfer_size(9)dwc2_schedule_periodic(9)dwc2_deschedule_periodic(9)dwc2_wait_timer_fn(9)dwc2_hcd_qh_create(9)dwc2_hcd_qh_free(9)dwc2_hcd_qh_add(9)dwc2_hcd_qh_unlink(9)dwc2_next_for_periodic_split(9)dwc2_next_periodic_start(9)dwc2_hcd_qtd_init(9)dwc2_hcd_qtd_add(9)
bye bestie π«Ά shoutout to the source/version ./drivers/usb/dwc2 and the October 2026 date β this was the dwc2_qh_init(9) page from the Kernel API Manual, and yes, it ate ππ
π¦ 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