i3c_readl_fifo(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ i3c_readl_fifo β€” read data buffer from a 32bit FIFO πŸ’…

okay so bestie, welcome to the i3c_readl_fifo page from the Kernel API Manual. she's short, she's sweet, and she does exactly one thing, but she does it iconically. let's get into it 🫢


🌸 SYNOPSIS 🌸

void i3c_readl_fifo (const void __iomem *addr , void *buf , int nbytes );

that's it. that's the whole vibe. one function, three args, returns nothing (void, she's not about to hand you a status code, she just does the thing) ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • addr β€” the FIFO address you're reading from. it's const void __iomem *, so it's an I/O memory pointer and you're not supposed to be scribbling on it, only reading. respect the const, bestie πŸ’–
  • buf β€” pointer to the buffer where the bytes you read get stored. this is your little bucket, the data goes in here πŸ“
  • nbytes β€” how many bytes to read. yes, in bytes, even though the FIFO is 32bit. that's the whole point of this helper, iykyk πŸ”₯

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does this actually do? it reads a data buffer out of a 32bit FIFO. you give it where the FIFO lives, you give it somewhere to put the bytes, you tell it how many bytes you want, and it handles the rest πŸ’…

no cap, the fun part is that it's doing the 32bit-FIFO dance for you β€” you're working in byte counts (nbytes) while the FIFO is over there living its 32bit life. she bridges that gap so you don't have to. iconic behavior, honestly πŸ‘‘


🌈 SEE ALSO 🌈

  • the kernel file ./drivers/i3c/internals.h β€” go read it, it's where the magic is declared 🧚
  • i3c_writel_fifo(9) β€” her sibling!! the "write" to this "read". if you liked reading bytes, you'll love writing them ✨

ngl, if you're poking around here you're probably deep in the i3c subsystem already β€” so go check out i3c_writel_fifo(9) too and complete the set πŸŽ€

that's a wrap, bestie πŸ’œ this one's from the ./drivers/i3c corner of the kernel, and the page dates to October 2026. go read some FIFOs, you've got this 🫢✨

πŸ“¦ where this page comes from