xilinx_dma_p...eral_dma_vec(9)
π xilinx_dma_p...eral_dma_vec(9) π
okay so bestie, welcome to the Kernel API Manual β¨ (yes the title got cut off with ... in the header, that's just how it is, we don't ask questions π). Today's main character is xilinx_dma_prep_peripheral_dma_vec β the function that prepares descriptors for a DMA_SLAVE transaction, but make it vector-coded π¦.
β¨ NAME β¨
xilinx_dma_prep_peripheral_dma_vec β literally the glow-up that preps descriptors for a DMA_SLAVE transaction built out of DMA vectors. it's giving "get the descriptors ready before anything spicy happens" π₯
πΈ SYNOPSIS πΈ
struct dma_async_tx_descriptor * xilinx_dma_prep_peripheral_dma_vec
(struct dma_chan *dchan , const struct dma_vec *vecs , size_t nb , enum
dma_transfer_direction direction , unsigned long flags );
no cap, that's the whole signature β five args, one return, zero drama (well, okay, some drama, see RETURN below π).
π¦ ARGUMENTS π¦
okay so here's the cast of characters, and every single one of them matters:
dchanβ the DMA channel. this is the main character of the function, the channel everything runs through πvecsβ an array of DMA vectors that should be transferred. yes, plural, it's a whole vibe and a whole array β¨nbβ number of entries invecs. bestie, please get this right, it's literally how many vectors there are πdirectionβ the DMA direction. the compass of the whole operation π§flagsβ transfer ack flags. ack, like "yes I acknowledge" π«Ά
π RETURN π
- Async transaction descriptor on success π icon behavior, we love to see it
NULLon failure π not so iconic, but at least it tells you
bestie FYI:NULLis not a descriptor. if you getNULLback, something in the descriptor-prep department said "no" π
π₯ SEE ALSO π₯
this list is long and it ATE, no crumbs. every single one, in the original order, because sequence is part of the slay π :
Kernel file ./drivers/dma/xilinx/xilinx_dma.c, plus: 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_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)
like, that's the whole friend group and they're all invited to the function π«Ά
and that's the tea, bestie π this little gem lives in ./drivers/dma/xilinx, it's stamped October 2026, and it comes to you courtesy of the Kernel API Manual β go forth and prep those peripheral DMA vecs with main character energy ππ
π¦ 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