STRUCT SBTSI_I3C_PRIV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct sbtsi_i3c_priv(9) πŸ’–

okay so this is a page from the Kernel API Manual, bestie, and we're talking about struct sbtsi_i3c_priv β€” no cap, it's the per-device state for I3C SBTSI, and it's literally carrying DMA-safe buffers in it. main character struct energy fr fr πŸŽ€


✨ NAME ✨

struct sbtsi_i3c_priv β€” per-device state for I3C SBTSI (includes DMA-safe buffers)

like... it holds the state, and it holds the buffers, and it does both at once. iconic behavior πŸ’…


🌸 SYNOPSIS 🌸

struct sbtsi_i3c_priv {
    struct sbtsi_data data;
    u8 tx[2];
    u8 rx;
 };

three members. that's it. that's the whole vibe. πŸ¦‹


πŸ‘‘ Members πŸ‘‘

  • data β€” the public device state, exposed via dev_set_drvdata. this is the one everybody else gets to see, the extrovert of the struct 🫢
  • tx β€” the outgoing I3C bytes, and no they're not optional: this is DMA_TO_DEVICE territory. [0] is the register address, [1] is the value. two bytes, one job, slayed ✨
  • rx β€” the incoming I3C data byte, coming at you DMA_FROM_DEVICE. single byte, huge responsibility 😭
ok real talk though β€” those DMA directions are load-bearing. tx is DMA_TO_DEVICE, rx is DMA_FROM_DEVICE, and the whole "DMA-safe buffers" thing in the NAME line is not decoration. don't be out here messing with that πŸ™ˆ

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/misc/amd-sbi/tsi-core.h β€” go read it, iykyk πŸ’œ

and that's the whole page, bestie!! source is ./drivers/misc/amd-sbi and the date stamp says October 2026, so like... mark your calendar or whatever πŸ—“οΈπŸ’– mwah, stay DMA-safe β­πŸ§šπŸ’…

πŸ“¦ where this page comes from