STRUCT XDMA_CHAN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct xdma_chan(9) πŸŽ€

okay bestie, welcome to the Kernel API Manual πŸ’– β€” this is the page for the driver-specific DMA channel structure, and it's giving "kernel struct but make it cute." Let's get into it.


✨ NAME ✨

struct xdma_chan β€” driver specific DMA channel structure. That's the whole name, no cap πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

here's the struct in all its glory, copied exactly so nobody comes for me:

       struct xdma_chan {
           struct virt_dma_chan            vchan;
           void *xdev_hdl;
           u32 base;
           struct dma_pool                 *desc_pool;
           bool busy;
           enum dma_transfer_direction     dir;
           struct dma_slave_config         cfg;
           u32 irq;
           struct completion               last_interrupt;
           bool stop_requested;
        };

πŸ’– Members πŸ’–

okay so every field on this struct has a job, and we're respecting all of them:

  • vchan β€” virtual channel ✨
  • xdev_hdl β€” pointer to DMA device structure 🫢
  • base β€” offset of channel registers
  • desc_pool β€” descriptor pool πŸŽ€
  • busy β€” busy flag of the channel
  • dir β€” transferring direction of the channel πŸ¦‹
  • cfg β€” transferring config of the channel
  • irq β€” IRQ assigned to the channel ⚑
  • last_interrupt β€” task for comppleting last interrupt 😭
  • stop_requested β€” stop request flag
lowkey, if you're cross-checking field names, this is the moment β€” the struct is the main character here πŸ‘‘

🌈 SEE ALSO 🌈

bestie, the kernel file is ./drivers/dma/xilinx/xdma.c, and these are the related pages you're gonna want:

xoxo πŸ’‹ β€” this page came from ./drivers/dma/xilinx, dated October 2026, and it's the struct xdma_chan(9) page. bye bestie 🫢

πŸ“¦ where this page comes from