dwc2_hc_write_packet(9)
π NAME π
Bestie, welcome to the Kernel API Manual page for dwc2_hc_write_packet(9) β manual name folded in near the top, exactly as promised. π
dwc2_hc_write_packet β Writes a packet into the Tx FIFO associated with the Host Channel.
β¨ SYNOPSIS β¨
void dwc2_hc_write_packet (struct dwc2_hsotg *hsotg , struct
dwc2_host_chan *chan );
π«Ά ARGUMENTS π«Ά
hsotgβ Programming view of DWC_otg controller. That's the whole vibe: it's the programming view of the controller, periodt.chanβ Information needed to initialize the host channel. Everything you need to get that channel set up. π
π₯ DESCRIPTION π₯
Okay so hear me out, bestie: this function should only be called in Slave mode. Not optional, not a suggestion β that's the rule. π«‘
For a channel associated with a non-periodic EP, the non-periodic Tx FIFO is written. For a channel associated with a periodic EP, the periodic Tx FIFO is written. The way it picks the right FIFO based on the EP type? Highkey iconic. β¨
Upon return, the xfer_buf and xfer_count fields in chan are incremented by the number of bytes written to the Tx FIFO. So yes, those fields get updated β literally incremented by the byte count. π
Bestie, do not come at this function outside Slave mode. It's giving "read the description first" energy. π
π SEE ALSO π
Kernel file ./drivers/usb/dwc2/hcd.c β and now the whole squad, all referenced exactly, no skips:
dwc2_enable_common_interrupts(9)dwc2_enable_host_interrupts(9)dwc2_disable_host_interrupts(9)dwc2_calc_frame_interval(9)dwc2_read_packet(9)dwc2_dump_channel_info(9)dwc2_hc_init(9)dwc2_hc_halt(9)dwc2_hc_cleanup(9)dwc2_hc_set_even_odd_frame(9)dwc2_hc_do_ping(9)dwc2_hc_start_transfer(9)dwc2_hc_start_transfer_ddma(9)dwc2_hc_continue_transfer(9)dwc2_hcd_start(9)dwc2_hcd_connect(9)dwc2_hcd_disconnect(9)dwc2_hcd_rem_wakeup(9)dwc2_hcd_stop(9)dwc2_core_init(9)dwc2_core_host_init(9)dwc2_assign_and_init_hc(9)dwc2_hcd_select_transactions(9)dwc2_queue_transaction(9)dwc2_hcd_queue_transactions(9)dwc2_port_suspend(9)dwc2_port_resume(9)dwc2_host_get_tt_info(9)dwc2_host_put_tt_info(9)dwc2_backup_host_registers(9)dwc2_restore_host_registers(9)dwc2_host_enter_hibernation(9)dwc2_host_enter_partial_power_down(9)dwc2_host_enter_clock_gating(9)dwc2_host_exit_clock_gating(9)
This page's source/version is ./drivers/usb/dwc2, and it's dated October 2026 β bye bestie, drink water, check your FIFOs, and slay the host channel ππ¦π
π¦ 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