ep93xx_dma_prep_dma_cyclic(9)
π ep93xx_dma_prep_dma_cyclic π
okay bestie, this is the Kernel API Manual page for ep93xx_dma_prep_dma_cyclic β and yes, the name is a whole mouthful, but weβre gonna get through it together π
β¨
πΈ NAME πΈ
ep93xx_dma_prep_dma_cyclic β prepare a cyclic DMA operation π
β¨ SYNOPSIS β¨
struct dma_async_tx_descriptor * ep93xx_dma_prep_dma_cyclic (struct
dma_chan *chan , dma_addr_t dma_addr , size_t buf_len , size_t
period_len , enum dma_transfer_direction dir , unsigned long flags );
π«Ά ARGUMENTS π«Ά
chanβ the channel. the main character of this whole operation, lowkey πdma_addrβ the DMA mapped address of the buffer. yes bestie, itβs already mapped, donβt come for me πbuf_lenβ length of the buffer, in bytes. numbers, but make them make sense πperiod_lenβ length of a single period. this one matters a lot for the cyclic vibe check β³dirβ direction of the operation. which way are we going?dma_transfer_directionsaid βyesβ π§flagsβ tx descriptor status flags. little descriptor mood markers π©
π DESCRIPTION π
so this function prepares a descriptor for a cyclic DMA operation β¨ that means once the descriptor is submitted, it keeps submitting buffers sized period_len and calls the callback once the period has elapsed. itβs giving βround and round, nonstopβ energy π
and like β the transfer does not just stop on its own. it terminates only when the client calls dmaengine_terminate_all for this channel. so yeah, thatβs the off switch, bestie ππ
it returns a valid DMA descriptor, or NULL if something went wrong. no cap, that NULL is the failure case π
ngl, that βterminates only when the client calls dmaengine_terminate_all for this channelβ part is important β do not forget it, iβm begging π«Ά
π SEE ALSO π
- Kernel file
./drivers/dma/ep93xx_dma.c struct ep93xx_dma_desc(9)struct ep93xx_dma_chan(9)struct ep93xx_dma_engine(9)ep93xx_dma_set_active(9)ep93xx_dma_advance_active(9)ep93xx_dma_advance_work(9)ep93xx_dma_tx_submit(9)ep93xx_dma_alloc_chan_resources(9)ep93xx_dma_free_chan_resources(9)ep93xx_dma_prep_dma_memcpy(9)ep93xx_dma_prep_slave_sg(9)ep93xx_dma_synchronize(9)ep93xx_dma_terminate_all(9)ep93xx_dma_tx_status(9)ep93xx_dma_issue_pending(9)
and thatβs the whole page, bestie π«Ά source is ./drivers/dma, date is October 2026, and the page is ep93xx_dma_prep_dma_cyclic(9) β iconic, honestly π
πβ¨
π¦ 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