STRUCT XVIP_DMA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay so welcome to the Kernel API Manual, bestie πŸ’– β€” this page is all about struct xvip_dma, and it is literally the Video DMA channel. that's the whole vibe. one struct, one channel, zero notes πŸ’…


🌸 SYNOPSIS 🌸

here's the whole glow-up, laid out exactly how it ships 🫢

struct xvip_dma {
    struct list_head list;
    struct video_device video;
    struct media_pad pad;
    struct xvip_composite_device *xdev;
    struct xvip_pipeline pipe;
    unsigned int port;
    struct mutex lock;
    struct v4l2_pix_format format;
    const struct xvip_video_format *fmtinfo;
    struct vb2_queue queue;
    unsigned int sequence;
    struct list_head queued_bufs;
    spinlock_t queued_lock;
    struct dma_chan *dma;
    unsigned int align;
    struct dma_interleaved_template xt;
    struct data_chunk sgl;
 };

like… look at her. seventeen fields and every single one is doing her job πŸ‘‘


πŸŽ€ Members πŸŽ€

okay so this is the part where we go member by member, no skips, no shortcuts, we are not leaving anybody out πŸ™ˆ

  • list β€” the list entry sitting in a composite device dmas list πŸ”—
  • video β€” the V4L2 video device that's associated with the DMA channel πŸ“Ή
  • pad β€” the media pad for the video device entity 🧚
  • xdev β€” the composite device this DMA channel belongs to πŸ‘‘
  • pipe β€” the pipeline belonging to the DMA channel 🌈
  • port β€” the composite device DT node port number for the DMA channel πŸ”Œ
  • lock β€” protects the format, fmtinfo and queue fields πŸ”’ (she's the bodyguard, respect her)
  • format β€” the active V4L2 pixel format πŸ–ΌοΈ
  • fmtinfo β€” the format information corresponding to the active format ⭐
  • queue β€” the vb2 buffers queue 🧺
  • sequence β€” the V4L2 buffers sequence number πŸ”’
  • queued_bufs β€” list of queued buffers πŸ“š
  • queued_lock β€” protects the buf_queued list πŸ”
  • dma β€” the DMA engine channel ⚑
  • align β€” the transfer alignment required by the DMA channel, in bytes πŸ“
  • xt β€” the dma interleaved template for dma configuration 🧩
  • sgl β€” the data chunk structure for dma_interleaved_template πŸ“

that's all seventeen, accounted for, main character energy from start to finish πŸ’€βœ¨


πŸ¦‹ SEE ALSO πŸ¦‹

if you want more, go touch the kernel file ./drivers/media/platform/xilinx/xilinx-dma.h and also check out the struct xvip_pipeline(9) page β€” they're literally besties, iykyk 🫢


ngl bestie, if you made it this far you now know struct xvip_dma better than half the internet. slay πŸ’…

okay that's the whole page!! sourced from ./drivers/media/platform/xilinx, dated October 2026 β€” mwah, go write some drivers πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from