STRUCT PL08X_TXD(9)
β¨ struct pl08x_txd(9) β¨
okay so bestie, welcome to the Kernel API Manual π today we're looking at struct pl08x_txd and honestly? it's giving "wrapper energy" and we're obsessed. no cap.
π NAME π
struct pl08x_txd β the wrapper for struct dma_async_tx_descriptor, periodt π
πΈ SYNOPSIS πΈ
like, here's the whole vibe, literally character for character:
struct pl08x_txd {
struct virt_dma_desc vd;
struct list_head dsg_list;
dma_addr_t llis_bus;
u32 *llis_va;
u32 cctl;
u32 ccfg;
bool done;
bool cyclic;
};
π¦ Members π¦
okay let's do a little member-by-member breakdown, because every single one matters, fr fr π«Ά
vdβ the virtual DMA descriptor, aka the icon itself πdsg_listβ a list of children sg's. yep, the whole little family tree of them πllis_busβ the DMA memory address (physical) start for the LLIs π§llis_vaβ the virtual memory address start for the LLIs. twin behavior with the one above, lowkey πcctlβ control reg values for the current txd π₯ccfgβ config reg values for the current txd βdoneβ this one marks completed descriptors, which should not have their mux released. important!! don't touch, no cap πcyclicβ indicates cyclic transfers. round and round we go π
π SEE ALSO π
go check out the Kernel file ./drivers/dma/amba-pl08x.c and all its besties: struct vendor_data(9), struct pl08x_bus_data(9), struct pl08x_phy_chan(9), struct pl08x_sg(9), enum pl08x_dma_chan_state(9), struct pl08x_dma_chan(9), struct pl08x_driver_data(9) β¨ it's a whole squad, iykyk π
okay that's the whole read, bestie π this lil page lives over at ./drivers/dma and the version is dated October 2026 β slay, go forth and struct responsibly πβ¨π
π¦ 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