STRUCT PL08X_DMA_CHAN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct pl08x_dma_chan(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is the page for struct pl08x_dma_chan, and honestly? it's kind of a big deal. one quick heads-up before we dive in: this struct is what wraps a DMA ENGINE channel πŸŽ€. that's the whole assignment, that's the vibe.


✨ SYNOPSIS ✨

struct pl08x_dma_chan {
    struct virt_dma_chan vc;
    struct pl08x_phy_chan *phychan;
    const char *name;
    struct pl08x_channel_data *cd;
    struct dma_slave_config cfg;
    struct pl08x_txd *at;
    struct pl08x_driver_data *host;
    enum pl08x_dma_chan_state state;
    bool slave;
    int signal;
    unsigned mux_use;
    unsigned long waiting_at;
 };

no cap, that's the whole struct right there πŸ’…


🌸 Members 🌸

like, the moment you've all been waiting for. let's do a vibe check on every single field, one by one 🫢

  • vc β€” the wrapped virtual channel ✨ (it's giving "inner circle")
  • phychan β€” the physical channel utilized by this channel, if there is one β†’ type struct pl08x_phy_chan *. note the "if there is one", bestie, sometimes there just isn't 😭
  • name β€” name of channel 🏷️
  • cd β€” channel platform data πŸ’Ύ
  • cfg β€” slave configuration
  • at β€” the active transaction on this channel πŸ”₯ (main character energy fr)
  • host β€” a pointer to the host (internal use) πŸ™ˆ β€” yes, internal, don't touch, it's not for you
  • state β€” whether the channel is idle, paused, running, etc. β€” it's literally the mood ring of the channel 🌈
  • slave β€” whether this channel is a device (slave) or for memcpy β€” a whole identity crisis in one bool πŸ’€
  • signal β€” the physical DMA request signal which this channel is using πŸ“‘
  • mux_use β€” count of descriptors using this DMA request signal setting πŸ”’
  • waiting_at β€” time in jiffies when this channel moved to waiting state ⏳ β€” it's giving "timestamped longing", iconic

πŸ‘‘ SEE ALSO πŸ‘‘

go read these next, i'm obsessed with the whole friend group πŸ¦‹:

  • Kernel file ./drivers/dma/amba-pl08x.c
  • struct vendor_data(9)
  • struct pl08x_bus_data(9)
  • struct pl08x_phy_chan(9)
  • struct pl08x_sg(9)
  • struct pl08x_txd(9)
  • enum pl08x_dma_chan_state(9)
  • struct pl08x_driver_data(9)

and that's a wrap, bestie 🌸 mwah πŸ’‹ β€” this little number lives in ./drivers/dma, dated October 2026, and it's brought to you by struct pl08x_dma_chan(9). slay, go read your kernel source, i believe in you πŸ’œβœ¨

πŸ“¦ where this page comes from