STRUCT XILINX_VDMA_TX_SEGMENT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct xilinx_vdma_tx_segment β€” bestie, it's a Descriptor segment. That's it, that's the whole vibe ✨

Ok so real quick β€” this page lives in the Kernel API Manual, and it's about struct xili...a_tx_segment(9) (yes the title truncates itself, iconic of it honestly). Anyway, let's get into it πŸŽ€


✨ SYNOPSIS ✨

Here's the whole struct, no edits, no cap:

struct xilinx_vdma_tx_segment {
    struct xilinx_vdma_desc_hw hw;
    struct list_head node;
    dma_addr_t phys;
 };

Three members, three little besties, each one doing its own thing 🫢


🌸 MEMBERS 🌸

  • hw β€” the Hardware descriptor. literally the actual descriptor, the main character πŸ’…
  • node β€” Node in the descriptor segments list. it's how she links up with her sisters, chain gang style πŸ”—
  • phys β€” Physical address of segment. the real address, the one the hardware actually knows about, iykyk πŸ¦‹

πŸ‘‘ SEE ALSO πŸ‘‘

First up, the file where all of this actually lives:

  • Kernel file ./drivers/dma/xilinx/xilinx_dma.c

Then the whole extended friend group, and yes, we're naming every single one because nobody gets left out at this sleepover 😭:

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_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_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).


ok that's the whole page, you understood all of it, slay πŸ’œ

Source situation: ./drivers/dma/xilinx, dated October 2026, and the page signs off as struct xili...a_tx_segment(9) β€” go off, truncated queen πŸ‘‘πŸ’€

πŸ“¦ where this page comes from