STRUCT GENI_I2C_GPI_MULTI_DESC_XFER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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 giving void ** main character energy ⭐
  • dma_addr β€” an array of DMA addresses corresponding to the buffers. yes she's the partner-in-crime of dma_buf, they come as a set πŸŽ€

🌈 SEE ALSO 🌈

go look at these, fr fr:


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