STRUCT I3C_DMA(9)
π 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 orNULL. literally either a whole buffer orNULL, no in-between π
π SEE ALSO π
Kernel file ./include/linux/i3c/master.h β and the whole friend group, honestly, they all show up together:
struct i3c_i2c_dev_desc(9)struct i2c_dev_boardinfo(9)struct i2c_dev_desc(9)struct i3c_ibi_slot(9)struct i3c_device_ibi_info(9)struct i3c_dev_boardinfo(9)struct i3c_dev_desc(9)struct i3c_device(9)enum i3c_bus_mode(9)enum i3c_open_drain_speed(9)enum i3c_addr_slot_status(9)struct i3c_bus(9)struct i3c_master_controller_ops(9)struct i3c_master_controller(9)i3c_bus_for_each_i2cdev(9)i3c_bus_for_each_i3cdev(9)i3c_dev_get_master_data(9)i3c_dev_set_master_data(9)i2c_dev_get_master_data(9)i2c_dev_set_master_data(9)i3c_dev_get_master(9)i2c_dev_get_master(9)i3c_master_get_bus(9)
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
- 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