STRUCT XVIP_DMA(9)
β¨ 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 theformat,fmtinfoandqueuefields π (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 thebuf_queuedlist π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 fordma_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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms