dwc2_hc_start_transfer_ddma(9)
π dwc2_hc_start_transfer_ddma β a kernel API moment (section 9, bestie)
okay so we're in the dwc2_hc_start_transfer_ddma(9) page, from the Kernel API Manual, and it's literally about setting up a host channel data transfer and kicking it off in Descriptor DMA mode. slay. let's get into it π
β¨ NAME β¨
dwc2_hc_start_transfer_ddma β does the setup for a data transfer for a host channel and starts the transfer in Descriptor DMA mode. no cap, that's the whole gig π¦
πΈ SYNOPSIS πΈ
void dwc2_hc_start_transfer_ddma (struct dwc2_hsotg *hsotg , struct
dwc2_host_chan *chan );
π ARGUMENTS π
hsotgβ the programming view of the DWC_otg controller. that's your main character struct fr πchanβ the info needed to initialize the host channel. everything it needs to get cute and set up π«Ά
π DESCRIPTION π
So first thing: it initializes the HCTSIZ register. iconic. for a PING transfer, the Do Ping bit gets set β yes, that's the actual name, iykyk π
Then it sets the PID and NTD values. and for periodic transfers it initializes the SCHED_INFO field with the micro-frame bitmap β¨
After that comes the HCDMA register β it gets initialized with the descriptor list address and the CTD value, and then the transfer is started by enabling the channel. and that's the moment, bestie, the transfer is live π₯
π¦ SEE ALSO π¦
the kernel file is ./drivers/usb/dwc2/hcd.c and it's giving a whole friend group, so let's list every single one, no skipping π
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_write_packet(9)dwc2_hc_do_ping(9)dwc2_hc_start_transfer(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)
bestie this page is from./drivers/usb/dwc2, dated October 2026, and it's literally calleddwc2_hc_start_transfer_ddma(9). that's the whole sign-off, mwah πβ¨ go read the source, ily π§π
π¦ 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