STRUCT PPC440SPE_ADMA_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

ok so bestie, this page is about struct ppc440spe_adma_device β€” it's the internal representation of an ADMA device ✨ like the lil' behind-the-scenes struct that holds everything together. no cap, it's the main character of the ADMA world πŸŽ€

this whole thing lives in the Kernel API Manual, iykyk πŸ¦‹


🌸 SYNOPSIS

struct ppc440spe_adma_device {
           struct device *dev;
           struct dma_regs __iomem *dma_reg;
           struct xor_regs __iomem *xor_reg;
           struct i2o_regs __iomem *i2o_reg;
           int id;
           void *dma_desc_pool_virt;
           dma_addr_t dma_desc_pool;
           size_t pool_size;
           int irq;
           int err_irq;
           struct dma_device common;
        };

that's the whole vibe right there πŸ”₯ copy it exactly, don't be cute with it πŸ’…


🫢 Members

okay so here's the member-by-member breakdown, the way that each one is literally doing its own lil' job 🧚

  • dev β€” the device. that's it. that's the member πŸ’– it's just the device, periodt.
  • dma_reg β€” base for DMAx register access. this is where you go to poke at the DMAx registers πŸ‘‘
  • xor_reg β€” base for XOR register access. same energy, different register block ✨
  • i2o_reg β€” base for I2O register access. yes bestie, a third base πŸŽ€
  • id β€” HW ADMA Device selector. this is how the hardware knows which ADMA device we're talking about 🌈
  • dma_desc_pool_virt β€” base of DMA descriptor region, but the CPU address flavor 🧠
  • dma_desc_pool β€” base of DMA descriptor region, and this one's the DMA address flavor πŸ¦‹ (yes there are two, they are not the same, do not mix them up πŸ’€)
  • pool_size β€” size of the pool. the pool's size. that's the whole thing 🌸
  • irq β€” DMAx or XOR irq number. either one, depending on the moment πŸ™ˆ
  • err_irq β€” DMAx error irq number. this one's specifically for the errors 😭
  • common β€” embedded struct dma_device. it's nested. it's cozy. it's embedded πŸ’œ

⭐ SEE ALSO

  • Kernel file ./drivers/dma/ppc4xx/adma.h
  • struct ppc440spe_adma_chan(9)
  • struct ppc440spe_adma_desc_slot(9)

like, go read those too, bestie, they're all in the same friend group 🫢


okay and before you go β€” the source is ./drivers/dma/ppc4xx, dated October 2026, and the whole thing answers to the name struct ppc44..._adma_device(9) (yes, the header/footer literally abbreviates it like that, no we did not do that, it's giving truncated πŸŽ€). slay, go forth and be iconic with your ADMA devices πŸ’…βœ¨πŸ‘‘

πŸ“¦ where this page comes from