STRUCT OWL_DMA_VCHAN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ struct owl_dma_vchan(9) β€” bestie's guide to the DMA ENGINE channel wrapper πŸ’œ

okay so welcome to the Kernel API Manual, and today's main character is struct owl_dma_vchan β€” literally just a wrapper for a DMA ENGINE channel πŸŽ€. yes, "wrapper", like the cute lil blanket burrito around your actual channel. she's giving middle-management energy and honestly? we stan an organized queen πŸ‘‘.

this is the page for the struct itself, so buckle up, grab your iced coffee πŸ“, and let's get into it.


✨ SYNOPSIS ✨

here's exactly what she looks like, no notes, no edits, copy it character for character bestie 😌:

struct owl_dma_vchan {
    struct virt_dma_chan    vc;
    struct owl_dma_pchan    *pchan;
    struct owl_dma_txd      *txd;
    struct dma_slave_config cfg;
    u8 drq;
 };

like. look at her. five fields. impeccable. no cap πŸ”₯


🌸 Members 🌸

okay so this is the part where we meet the whole squad, one by one, and yes i'm gonna tell you about every single one because we do NOT skip members in this house πŸ’…

  • vc β€” the wrapped virtual channel πŸ¦‹. she's the virtual one, living her best abstract life, wrapped up all cozy inside this struct.
  • pchan β€” the physical channel utilized by this channel ✨. so like, vc is the vibe and pchan is the actual hardware doing the work. it's a pointer to a struct owl_dma_pchan, iykyk.
  • txd β€” the active transaction on this channel πŸ”₯. whoever's currently holding the aux cord. also a pointer, this time to a struct owl_dma_txd.
  • cfg β€” slave configuration for this channel πŸŽ€. she's a struct dma_slave_config and she holds the setup deets. very much the "settings" girlie.
  • drq β€” physical DMA request ID for this channel ⭐. that's a u8, tiny but mighty, and yes it's the ID of the physical DMA request. don't lose it πŸ™ˆ.

πŸ‘€ SEE ALSO πŸ‘€

okay so if you're obsessed (and you should be) here's the rest of the reading list, plus the kernel file where all this lives β€” keep every one of these exactly as written fr fr:

  • Kernel file ./drivers/dma/owl-dma.c
  • enum owl_dmadesc_offsets(9)
  • struct owl_dma_lli(9)
  • struct owl_dma_txd(9)
  • struct owl_dma_pchan(9)
  • struct owl_dma(9)

bestie reminder: this page is just the struct and its members. everything above is literally everything the page says β€” no invented lore, no made-up behaviour, no guessing what these fields do beyond what's written πŸ’€. if you need the actual behaviour, go read those SEE ALSOs, periodt.

and that's a wrap! 🫢 this lil masterpiece lives under ./drivers/dma and the manual is dated October 2026 β€” yes, the future is now, and she's still struct owl_dma_vchan(9) πŸ’– mwah, go read the kernel, slay ✨🌈

πŸ“¦ where this page comes from