xilinx_cdma_...c_tx_segment(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ xilinx_cdma_alloc_tx_segment ✨

from the Kernel API Manual β€” page xilinx_cdma_...c_tx_segment(9) πŸŽ€

okay so bestie, welcome to the Xilinx DMA corner of the kernel πŸ¦‹ this one's a little function with a big job and honestly it's giving "quiet luxury" β€” no drama, just vibes and memory allocation. let's get into it πŸ’…


✨ NAME ✨

xilinx_cdma_alloc_tx_segment β€” Allocate transaction segment πŸ’–

like. that's it. that's the whole personality. it allocates a transaction segment. and it slays at it. periodt.


🌸 SYNOPSIS 🌸

struct xilinx_cdma_tx_segment * xilinx_cdma_alloc_tx_segment (struct
xilinx_dma_chan *chan );

so you hand it a channel, and it hands you back a shiny new struct xilinx_cdma_tx_segment *. trade offer: your pointer, its pointer 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • chan β€” Driver specific DMA channel 🌈 literally the DMA channel that belongs to this driver, no substitutions, no impostors, main character energy only πŸ‘‘

πŸ’œ RETURN πŸ’œ

On success you get the allocated segment β€” iconic, gorgeous, exactly what you ordered ✨

On failure you get NULL β€” 😭 yeah. check it. always check it, bestie, the kernel does not do gentle little error messages for you. NULL is the whole warning. ngl it's giving "read the room" πŸ’€


πŸ¦‹ SEE ALSO πŸ¦‹

first up, the source of truth lives in the kernel file ./drivers/dma/xilinx/xilinx_dma.c β€” go read it, it's right there 🧚

and now, the friend group (yes it's a big friend group, we love a connected ecosystem):

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_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_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 I said. big friend group. all of them cross-referenced, all of them valid, all of them one (9) away from being your next hyperfixation πŸ”₯


the little sign-off πŸŽ€

this absolute gem of a page comes to you from ./drivers/dma/xilinx, dated October 2026, and it answers to the name xilinx_cdma_...c_tx_segment(9). go allocate something beautiful, bestie πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from