STRUCT PL08X_DRIVER_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pl08x_driver_data(9) β€” like, the whole vibe

okay bestie, so this is from the Kernel API Manual, and it's literally all about struct pl08x_driver_data β€” the local state holder for the PL08x ✨ that's it, that's the name section, no notes πŸ’…


🌸 SYNOPSIS 🌸

like, here's the whole struct, character for character, no cap:

struct pl08x_driver_data {
    struct dma_device slave;
    struct dma_device memcpy;
    bool has_slave;
    void __iomem *base;
    struct amba_device *adev;
    const struct vendor_data *vd;
    struct pl08x_platform_data *pd;
    struct pl08x_phy_chan *phy_chans;
    struct dma_pool *pool;
    u8 lli_buses;
    u8 mem_buses;
    u8 lli_words;
 };

she's giving organized. she's giving main character struct. πŸŽ€


πŸ¦‹ Members πŸ¦‹

time for the member-by-member vibe check, bestie β€” every single one, let's go πŸ’–

  • slave β€” the optional slave engine for this instance. optional!! she doesn't have to show up, and that's valid πŸ™ˆ
  • memcpy β€” the memcpy engine for this instance. this one's the copy machine, periodt ⭐
  • has_slave β€” a bool that says whether the PL08x has a slave engine (like, routed signals ✨)
  • base β€” virtual memory base (remapped) for the PL08x. remapped, so it's not where you left it πŸ’€
  • adev β€” the corresponding AMBA (PrimeCell) bus entry 🚌
  • vd β€” vendor data for this PL08x variant. every variant's got lore 🌈
  • pd β€” platform data passed in from the platform/machine 🫢
  • phy_chans β€” array of data for the physical channels. array!! plural!! she contains multitudes πŸ‘‘
  • pool β€” a pool for the LLI descriptors 🏊
  • lli_buses β€” bitmask to OR in to the LLI pointer selecting the AHB port for LLI fetches πŸ”₯ (yes, "or in", it's a bitmask thing, iykyk)
  • mem_buses β€” set to indicate memory transfers on AHB2 🧚
  • lli_words β€” how many words are used in each LLI item for this variant. counting words, iconic ⭐

πŸ’œ SEE ALSO πŸ’œ

go read these next, bestie, they're all in the 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_dma_chan(9)

like a whole friend group fr fr πŸ’–


ngl this page lives in ./drivers/dma and it's dated October 2026 β€” so yeah, basically from the future πŸ‘‘βœ¨

and that's the whole struct pl08x_driver_data(9) tea, bestie β€” slay, you ate, now go read the source πŸŒΈπŸ¦‹πŸ’…

πŸ“¦ where this page comes from