STRUCT XDMA_DEVICE(9)
π NAME π
struct xdma_device β bestie, it's the DMA device structure itself, the main character of the whole show π
So this is the manual page for struct xdma_device(9) from the Kernel API Manual β yeah, we're in kernel-land now, and it's giving big "I read the source, actually" energy π
β¨ SYNOPSIS β¨
ok so here's the whole struct, literally every field, no skipping, no cap:
struct xdma_device {
struct platform_device *pdev;
struct dma_device dma_dev;
struct regmap *rmap;
struct xdma_chan *h2c_chans;
struct xdma_chan *c2h_chans;
u32 h2c_chan_num;
u32 c2h_chan_num;
u32 irq_start;
u32 irq_num;
u32 status;
};
she's got ten fields and every single one is slaying in her own little lane π
πΈ Members πΈ
okay time for the field-by-field vibe check, let's go π¦
pdevβ the platform device pointer, aka her link back to the platform device she belongs todma_devβ the DMA device structure, the whole reason she exists tbhrmapβ the MMIO regmap for the DMA registers, where all the register poking happens β¨h2c_chansβ Host to Card channels, exactly what it sounds like, going one direction hunc2h_chansβ Card to Host channels, the other direction, we're nothing if not symmetrical πh2c_chan_numβ number of H2C channels, like, the countc2h_chan_numβ number of C2H channels, also a count, also iconicirq_startβ the start IRQ assigned to the device, where the interrupt party begins πirq_numβ number of IRQ assigned to device, i.e. how many interrupts she getsstatusβ initialization status, the "are we okay or are we not okay" field π
π«Ά SEE ALSO π«Ά
all her friends!! the whole friend group lives in the kernel file ./drivers/dma/xilinx/xdma.c and honestly the roster ate π₯
struct xdma_desc_block(9)struct xdma_chan(9)struct xdma_desc(9)xdma_link_sg_desc_blocks(9)xdma_link_cyclic_desc_blocks(9)xdma_channel_init(9)xdma_free_desc(9)xdma_alloc_desc(9)xdma_xfer_start(9)xdma_xfer_stop(9)xdma_alloc_channels(9)xdma_issue_pending(9)xdma_terminate_all(9)xdma_synchronize(9)xdma_fill_descs(9)xdma_prep_device_sg(9)xdma_prep_dma_cyclic(9)xdma_prep_interleaved_dma(9)xdma_device_config(9)xdma_free_chan_resources(9)xdma_alloc_chan_resources(9)xdma_channel_isr(9)xdma_irq_fini(9)xdma_set_vector_reg(9)xdma_irq_init(9)xdma_disable_user_irq(9)xdma_enable_user_irq(9)xdma_get_user_irq(9)xdma_remove(9)xdma_probe(9)
like, go read them, they're all right there, iykyk π
ngl there are no warnings on this one β it's just a struct. but fr fr, use the real field types and don't go inventing your own, okay? π
mwah π that's the page!! sourced straight from ./drivers/dma/xilinx, dated October 2026, and yes she's still struct xdma_device(9) β the one and only. slay, bye β¨π§π
π¦ 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