STRUCT GENI_I2C_GPI_MULTI_DESC_XFER(9)
π¦ struct geni_i2c_gpi_multi_desc_xfer(9) π¦
okay bestie, so this is a page straight out of the Kernel API Manual, and it's about a struct called geni_i2c_gpi_multi_desc_xfer β yes that's a whole mouthful, i know, just vibe with it π
β¨ NAME β¨
struct geni_i2c_gpi_multi_desc_xfer β the structure that makes multi transfer support happen, no cap π«Ά
π SYNOPSIS π
like, here's literally what it looks like:
struct geni_i2c_gpi_multi_desc_xfer {
u32 msg_idx_cnt;
u32 unmap_msg_cnt;
u32 irq_cnt;
void **dma_buf;
dma_addr_t *dma_addr;
};
that's the whole squad right there π
π Members π
okay so let's meet everyone in the group chat:
msg_idx_cntβ the current message index being processed in the transfer. she's the one keeping track of where we are rn πunmap_msg_cntβ the number of messages that have been unmapped. literally just counting the unmapped ones, that's her whole job π§Ήirq_cntβ the number of transfer completion interrupts received. she's tallying up those interrupts like a stan counting streams π₯dma_bufβ an array of virtual addresses for DMA-safe buffers. virtual addresses, plural, in an array β she's givingvoid **main character energy βdma_addrβ an array of DMA addresses corresponding to the buffers. yes she's the partner-in-crime ofdma_buf, they come as a set π
π SEE ALSO π
go look at these, fr fr:
- Kernel file
./drivers/i2c/busses/i2c-qcom-geni.c geni_i2c_gpi_multi_desc_unmap(9)geni_i2c_gpi_multi_xfer_timeout_handler(9)
aaaand that's the whole page bestie, you ate that π
β¨ this iconic little writeup lives over in ./drivers/i2c/busses and was dated October 2026 β mwah, go read the kernel now π¦π
π¦ 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