xilinx_mcdma_prep_slave_sg(9)
π xilinx_mcdma_prep_slave_sg(9) π
hiii bestie!! welcome to the Kernel API Manual π this one's about xilinx_mcdma_prep_slave_sg, and no cap, it's lowkey the moment before anything actually moves. it's giving "packing the bags before the trip" energy π§³β¨
πΈ NAME πΈ
xilinx_mcdma_prep_slave_sg β prepare descriptors for a DMA_SLAVE transaction π¦
like, you're not doing the transfer yet, you're setting up the little descriptor guys that'll do it later. main character prep work fr fr π
β¨ SYNOPSIS β¨
struct dma_async_tx_descriptor * xilinx_mcdma_prep_slave_sg (struct
dma_chan *dchan , struct scatterlist *sgl , unsigned int sg_len , enum
dma_transfer_direction direction , unsigned long flags , void *context
);
look at that signature, iconic honestly π₯ returns a struct dma_async_tx_descriptor *, so keep that in your notes π
π ARGUMENTS π
okay so here's who's invited to the function call party π
dchanβ the DMA channel π this is your main character, the whole vibesglβ the scatterlist to transfer to/from π it's the actual guest list of memorysg_lenβ number of entries in scatterlist π’ yes bestie, count themdirectionβ DMA direction π§ which way the data's vibingflagsβ transfer ack flags π© the little acknowledgment stickerscontextβ APP words of the descriptor π extra lil words that ride along
β RETURN β
Async transaction descriptor on success π and NULL on failure π
so yeah, always check for that NULL, bestie. it's not being dramatic, it's being correct π
π SEE ALSO π
the whole friend group π«Ά starting with a Kernel file:
- 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_cdma_prep_memcpy(9)xilinx_dma_prep_peripheral_dma_vec(9)xilinx_dma_prep_slave_sg(9)xilinx_dma_prep_dma_cyclic(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)
like I said β the whole group chat π every single one of them, don't leave anyone on read π
and that's the page bestie!! π§ go prep those descriptors, you're gonna slay π«Ά
later, legend π β this one came from ./drivers/dma/xilinx, dated October 2026, and it's xilinx_mcdma_prep_slave_sg(9) all day β
π¦ 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