xilinx_cdma_prep_memcpy(9)
π xilinx_cdma_prep_memcpy(9) β the Kernel API Manual, bestie edition π
okay so real talk, this one is from the Kernel API Manual (yes, the actual manpage name, we're official now π) and it's genuinely one of the more chill functions in the Xilinx DMA cinematic universe. it does exactly one thing and it does it slayfully: it builds the descriptors for a memcpy transaction. no cap, that's the whole gig β¨
πΈ NAME πΈ
xilinx_cdma_prep_memcpy β prepare descriptors for a memcpy transaction
like, it's the prep girlie. it gets the descriptor vibes ready so the actual copying can happen later π
β¨ SYNOPSIS β¨
struct dma_async_tx_descriptor * xilinx_cdma_prep_memcpy (struct
dma_chan *dchan , dma_addr_t dma_dst , dma_addr_t dma_src , size_t len ,
unsigned long flags );
it's giving "returns a struct dma_async_tx_descriptor *" energy, and it takes five lil arguments. we'll get into each one, don't worry π«Ά
π¦ ARGUMENTS π¦
okay bestie, let's meet the cast:
dchanβ the DMA channel. main character energy, this is the channel we're operating on πdma_dstβ destination address. where the bytes are going, i.e. the address they're moving to π―dma_srcβ source address. where the bytes are coming from, i.e. their origin story π±lenβ transfer length. how much we're actually moving, the "size of the vibe" if you will πflagsβ transfer ack flags. the acknowledgement flags, kept exactly as they are, no notes π©
π₯ RETURN π₯
- Async transaction descriptor on success β iconic, we ate π
NULLon failure β which is the sad path, and honestly? we don't talk about her π
π SEE ALSO π
the whole Xilinx DMA extended universe, fr fr. like we are not alone here:
- Kernel file
./drivers/dma/xilinx/xilinx_dma.c struct xilinx_vdma_desc_hw(9)struct xilinx_axidma_desc_hw(9)struct xilinx_aximcdma_desc_hw(9)struct xilinx_cdma_desc_hw(9)struct xilinx_vdma_tx_segment(9)struct xilinx_axidma_tx_segment(9)struct xilinx_aximcdma_tx_segment(9)struct xilinx_cdma_tx_segment(9)struct xilinx_dma_tx_descriptor(9)struct xilinx_dma_chan(9)enum xdma_ip_type(9)struct xilinx_dma_device(9)vdma_desc_write_64(9)xilinx_dma_get_metadata_ptr(9)xilinx_vdma_alloc_tx_segment(9)xilinx_cdma_alloc_tx_segment(9)xilinx_axidma_alloc_tx_segment(9)xilinx_aximcdma_alloc_tx_segment(9)xilinx_dma_free_tx_segment(9)xilinx_mcdma_free_tx_segment(9)xilinx_cdma_free_tx_segment(9)xilinx_vdma_free_tx_segment(9)xilinx_dma_alloc_tx_descriptor(9)xilinx_dma_free_tx_descriptor(9)xilinx_dma_free_desc_list(9)xilinx_dma_free_descriptors(9)xilinx_dma_free_chan_resources(9)xilinx_dma_get_residue(9)xilinx_dma_chan_handle_cyclic(9)xilinx_dma_chan_desc_cleanup(9)xilinx_dma_do_tasklet(9)xilinx_dma_alloc_chan_resources(9)xilinx_dma_calc_copysize(9)xilinx_dma_tx_status(9)xilinx_dma_stop_transfer(9)xilinx_cdma_stop_transfer(9)xilinx_dma_start(9)xilinx_vdma_start_transfer(9)xilinx_cdma_start_transfer(9)xilinx_dma_start_transfer(9)xilinx_mcdma_start_transfer(9)xilinx_dma_issue_pending(9)xilinx_dma_device_config(9)xilinx_dma_complete_descriptor(9)xilinx_dma_reset(9)xilinx_dma_chan_reset(9)xilinx_mcdma_irq_handler(9)xilinx_dma_irq_handler(9)append_desc_queue(9)xilinx_dma_tx_submit(9)xilinx_vdma_dma_prep_interleaved(9)xilinx_dma_prep_peripheral_dma_vec(9)xilinx_dma_prep_slave_sg(9)xilinx_dma_prep_dma_cyclic(9)xilinx_mcdma_prep_slave_sg(9)xilinx_dma_terminate_all(9)xilinx_vdma_channel_set_config(9)xilinx_dma_chan_remove(9)xilinx_dma_chan_probe(9)xilinx_dma_child_probe(9)of_dma_xilinx_xlate(9)xilinx_dma_probe(9)xilinx_dma_remove(9)
lowkey a whole friend group π every single one of them is in this manpage too, so likeβ¦ go read them, iykyk π§
and that's the page bestie π that was xilinx_cdma_prep_memcpy(9), coming to you from ./drivers/dma/xilinx, dated October 2026, in the Kernel API Manual β mwah, go prep some memcpy descriptors, ily, bye ππ
π¦ 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