STRUCT PL08X_PHY_CHAN(9)
β¨ struct pl08x_phy_chan(9) β¨
okay bestie, buckle up π this is a page from the Kernel API Manual and it's literally about a struct that holds the physical channels β like, the actual hardware channels, not the fake virtual ones. main character energy fr fr π
πΈ NAME πΈ
struct pl08x_phy_chan β the holder for the physical channels π
β¨ SYNOPSIS β¨
no cap, here's the whole thing, character for character:
struct pl08x_phy_chan {
unsigned int id;
void __iomem *base;
void __iomem *reg_config;
void __iomem *reg_control;
void __iomem *reg_src;
void __iomem *reg_dst;
void __iomem *reg_lli;
void __iomem *reg_busy;
spinlock_t lock;
struct pl08x_dma_chan *serving;
bool locked;
bool ftdmac020;
bool pl080s;
};
like... she's got a LOT going on and honestly? iconic of her π«Ά
π Members π
okay so let's go through every single one because we are NOT skipping anything, bestie:
idβ the physical index to this channel π’ like her little ID cardbaseβ the memory base address for this physical channel π home address vibesreg_configβ the configuration address for this physical channel βοΈreg_controlβ the control address for this physical channel ποΈreg_srcβ the transfer source address register π€ where the tea comes fromreg_dstβ the transfer destination address register π₯ where it's goingreg_lliβ the transfer LLI address register π (LLI my beloved)reg_busyβ if the variant has a special per-channel busy register, this contains a pointer to it π note the "if" β not every variant has one, so don't assume, bestielockβ a lock to use when altering an instance of this struct π pls respect the lock, she's not decorativeservingβ the virtual channel currently being served by this physical channel πββοΈ she's literally in servicelockedβ the channel is unavailable for the system, e.g. dedicated to secure world π« like sorry, she's booked, and also kind of a security thingftdmac020β the channel is on a FTDMAC020 π§pl080sβ the channel is on a PL08s β
π¦ SEE ALSO π¦
go read these next, iykyk:
- Kernel file
./drivers/dma/amba-pl08x.c struct vendor_data(9)struct pl08x_bus_data(9)struct pl08x_sg(9)struct pl08x_txd(9)enum pl08x_dma_chan_state(9)struct pl08x_dma_chan(9)struct pl08x_driver_data(9)
aaaand that's the whole thing, no crumbs left ππ this came from ./drivers/dma, dated October 2026, and the page itself is struct pl08x_phy_chan(9) β go off, you now officially understand physical channels better than half the group chat ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms