STRUCT PL08X_TXD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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