STRUCT MTK_CQDMA_PCHAN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct mtk_cqdma_pchan β€” bestie, this is literally the struct that holds all the info describing a physical channel (PC) 🫢

(oh and hey, welcome to the Kernel API Manual, we're getting into it ✨)


πŸŽ€ SYNOPSIS πŸŽ€

struct mtk_cqdma_pchan {
    struct list_head queue;
    void __iomem *base;
    u32 irq;
    refcount_t refcnt;
    struct tasklet_struct tasklet;
    spinlock_t lock;
 };

🌸 Members 🌸

okay so here's the cast of characters, no cap, every single one matters πŸ‘‘

  • queue β€” the queue holding the PDs that got issued to this PC. it's giving "to-do list but make it DMA" πŸ“‹
  • base β€” the mapped register I/O base of this PC. this is where the PC's registers live, periodt πŸ’…
  • irq β€” the IRQ that this PC is using. the interrupt line, the whole vibe check ⚑
  • refcnt β€” tracks how many VCs are using this PC. like a little counter keeping receipts of who's in the building πŸ”’
  • tasklet β€” the tasklet for this PC. yeah, that's the whole description, it's a tasklet, it's iconic 🧚
  • lock β€” the lock that protects against multiple VCs accessing the PC at the same time. lowkey essential, do NOT skip this one πŸ”’

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/dma/mediatek/mtk-cqdma.c
  • struct mtk_cqdma_vdesc(9)
  • struct mtk_cqdma_vchan(9)
  • struct mtk_cqdma_device(9)

and that's the whole page, bestie!! πŸ¦‹ this one lives in ./drivers/dma/mediatek, it's rockin' the October 2026 timestamp, and it's filed under struct mtk_cqdma_pchan(9) in your fave Kernel API Manual πŸ’– mwah, go read the actual source now πŸ˜­πŸ’€

πŸ“¦ where this page comes from