STRUCT XDMA_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct xdma_desc(9) ✨

okay so bestie, this is a page straight out of the Kernel API Manual and it's literally all about struct xdma_desc β€” the DMA desc structure. yes, THE descriptor struct. buckle up πŸ’…


🌸 NAME 🌸

struct xdma_desc β€” DMA desc structure

like, it's the descriptor. for DMA. that's the whole vibe. πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

here's the literal shape of it, no cap, copy-pasted from the source of truth:

struct xdma_desc {
    struct virt_dma_desc            vdesc;
    struct xdma_chan                *chan;
    enum dma_transfer_direction     dir;
    struct xdma_desc_block          *desc_blocks;
    u32 dblk_num;
    u32 desc_num;
    u32 completed_desc_num;
    bool cyclic;
    bool interleaved_dma;
    u32 periods;
    u32 period_size;
    u32 frames_left;
    bool error;
 };

look at her. thirteen fields. main character energy fr fr πŸ‘‘


πŸ’– Members πŸ’–

time for the member-by-member breakdown, bestie β€” every single one, let's go 🫢

  • vdesc β€” the Virtual DMA descriptor. iconic. literally the virtual layer's descriptor πŸ’«
  • chan β€” DMA channel pointer. it points at the channel, iykyk πŸ”₯
  • dir β€” Transferring direction of the request. where the data's headed, basically 🧭
  • desc_blocks β€” Hardware descriptor blocks. the actual hardware-side blocks 🌈
  • dblk_num β€” Number of hardware descriptor blocks. count 'em πŸ“
  • desc_num β€” Number of hardware descriptors. more counting, we love to see it ⭐
  • completed_desc_num β€” Completed hardware descriptors. the ones that are done done βœ…
  • cyclic β€” Cyclic transfer vs. scatter-gather. which flavor of transfer we're on πŸ”„
  • interleaved_dma β€” Interleaved DMA transfer. the interleaved situation πŸŒ€
  • periods β€” Number of periods in the cyclic transfer. how many periods, in the cyclic transfer πŸ’œ
  • period_size β€” Size of a period in bytes in cyclic transfers. bytes! per period! in cyclic transfers! πŸ“
  • frames_left β€” Number of frames left in interleaved DMA transfer. frames remaining, interleaved DMA transfer, you get it 🎬
  • error β€” tx error flag. it's the error flag. for tx. 😭

πŸ” SEE ALSO πŸ”

okay so if you're going deeper (and you ARE, I can tell), the Kernel file to look at is ./drivers/dma/xilinx/xdma.c β€” that's where the lore lives. and here's the whole friend group, every single one, not skipping a single bestie 🫢:

no because that's a LOT of cross-references and honestly? slay. read them all. periodt πŸ’…


ok that's the whole page bestie, nothing skipped, nothing hidden πŸ’–

and that's the wrap, bestie β€” this one came from ./drivers/dma/xilinx, dated October 2026, and it's struct xdma_desc(9) all the way down. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from