dwc2_schedule_periodic(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ dwc2_schedule_periodic(9) ✨

okay so bestie, this is a page straight out of the Kernel API Manual β€” it's dwc2_schedule_periodic(9) and it's literally the function that puts your interrupt or isochronous transfer on the periodic schedule. no cap, that's the whole vibe. πŸŽ€


πŸ’– NAME πŸ’–

dwc2_schedule_periodic β€” schedules an interrupt or isochronous transfer in the periodic schedule πŸ¦‹

like, that's it, that's her job. she schedules. she's booked and busy.


🌸 SYNOPSIS 🌸

int dwc2_schedule_periodic (struct dwc2_hsotg *hsotg , struct dwc2_qh
*qh );

look at her signature, she's giving main character energy fr fr πŸ”₯


🧚 ARGUMENTS 🧚

  • hsotg β€” the HCD state structure for the DWC OTG controller. yes bestie, the whole controller's state, she needs the full picture πŸ’…
  • qh β€” the QH for the periodic transfer. and listen, the QH should already contain the scheduling information. like, do NOT come to her with an unscheduled QH, she's not doing that for you πŸ™ˆ

⭐ RETURN ⭐

0 if successful, negative error code otherwise. so if you get 0 you're slaying, and if it's negative… well, it's giving error, bestie 😭


πŸ‘‘ SEE ALSO πŸ‘‘

first up, the kernel file, and yes you're gonna want to read it:

./drivers/usb/dwc2/hcd_queue.c

and now the whole friend group, all of them, no one left out 🫢:

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_deschedule_periodic(9), dwc2_wait_timer_fn(9), dwc2_qh_init(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)


and that's the whole page, periodt. πŸ’œ this little masterpiece lives under ./drivers/usb/dwc2, it's dated October 2026, and it's filed as dwc2_schedule_periodic(9) β€” go forth and schedule your periodic transfers, icon πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from