STRUCT I3C_DMA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct i3c_dma β€” okay so this is the DMA transfer and mapping descriptor, and honestly she's the whole vibe of getting your data moved around ✨ (this one's from the Kernel API Manual, section 9, iykyk).


πŸŽ€ SYNOPSIS πŸŽ€

struct i3c_dma {
    struct device *dev;
    void *buf;
    size_t len;
    size_t map_len;
    dma_addr_t addr;
    enum dma_data_direction dir;
    void *bounce_buf;
 };

πŸ¦‹ Members πŸ¦‹

  • dev β€” the device object of a device doing DMA. like, who is doing the transferring, bestie πŸ’–
  • buf β€” destination/source buffer for DMA. the actual data hangout spot ✨
  • len β€” length of transfer. how much we're moving, no cap πŸ“
  • map_len β€” length of DMA mapping 🌸
  • addr β€” mapped DMA address for a Host Controller Driver. the address the HCD actually gets to use 🫢
  • dir β€” DMA direction. which way the data's flowing, periodt 🧚
  • bounce_buf β€” an allocated bounce buffer if transfer needs it or NULL. literally either a whole buffer or NULL, no in-between πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./include/linux/i3c/master.h β€” and the whole friend group, honestly, they all show up together:


go read them, bestie, they're all main character energy in their own way πŸ‘‘

k that's the whole page πŸ’œ this lil gem lives in ./include/linux/i3c, dated October 2026, and she answers to the name struct i3c_dma(9). slay, go map some DMA πŸŽ€βœ¨

πŸ“¦ where this page comes from