cdns3_ep0_run_transfer(9)
π cdns3_ep0_run_transfer β like, the whole vibe
okay so bestie, welcome to the Kernel API Manual entry for cdns3_ep0_run_transfer β¨ this one is short and sweet but she is important β she's the one who actually pushes a transfer through on the default endpoint hardware. no cap. π
β¨ NAME β¨
cdns3_ep0_run_transfer β Do transfer on default endpoint hardware π¦
like literally the whole job: you got data, she runs it on ep0. iconic behaviour honestly π
π₯ SYNOPSIS π₯
void cdns3_ep0_run_transfer (struct cdns3_device *priv_dev , dma_addr_t
dma_addr , unsigned int length , int erdy , int zlp );
note the void β she returns nothing, she just does the thing and leaves. main character energy fr fr π
πΈ ARGUMENTS πΈ
okay so every single one of these matters, don't skip any π
priv_devβ the extended gadget object. yes bestie, the whole device, handed to you. π«Άdma_addrβ the physical address where the data is (or will be) stored. physical, not virtual, don't get it twisted πlengthβ the data length. how much stuff we're moving, simple as. β¨erdyβ set this bad boy to1when an ERDY packet should be sent β that's your exit from the flow control state. it's giving "we're so back" πͺπ¨zlpβ add a zero length packet. short and mysterious but she's doing her job π
side note bestie:erdyandzlpareints,lengthis anunsigned int,dma_addris adma_addr_t, andpriv_devis astruct cdns3_device *. keep the types right or the compiler will absolutely humble you π
π SEE ALSO π
the whole friend group lives in ./drivers/usb/cdns3/cdns3-ep0.c β go say hi to all of them π
cdns3_ep0_delegate_req(9)cdns3_req_ep0_set_configuration(9)cdns3_req_ep0_set_address(9)cdns3_req_ep0_get_status(9)cdns3_req_ep0_handle_feature(9)cdns3_req_ep0_set_sel(9)cdns3_req_ep0_set_isoch_delay(9)cdns3_ep0_standard_request(9)cdns3_ep0_setup_phase(9)cdns3_check_new_setup(9)cdns3_check_ep0_interrupt_proceed(9)cdns3_gadget_ep0_enable(9)cdns3_gadget_ep0_disable(9)cdns3_gadget_ep0_set_halt(9)cdns3_gadget_ep0_queue(9)cdns3_gadget_ep_set_wedge(9)cdns3_ep0_config(9)cdns3_init_ep0(9)
π fr fr though: this page in the kernel docs ships out of ./drivers/usb/cdns3 and it's dated October 2026. so like, future vibes only. obsessed. π§ββοΈπ
and that's the whole page bestie β go run that transfer, slay, periodt. πΈπ«Άβ¨
π¦ 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