STRUCT RING_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so, welcome to the Kernel API Manual page for struct ring_desc(9), bestie β€” manual name folded in right here near the top, no cap. The NAME vibe is:

struct ring_desc β€” TX/RX ring entry. Slay. πŸ’…

✨ SYNOPSIS ✨

Here’s the struct in all its exact, character-for-character glory:

       struct ring_desc {
           u64 phys;
           u32 length:12;
           u32 eof:4;
           u32 sof:4;
           enum ring_desc_flags flags:12;
           u32 time;
        };

πŸŽ€ Members πŸŽ€

  • phys β€” DMA mapped address of the frame. Lowkey important. πŸ“
  • length β€” Size of the ring. She’s giving capacity. πŸ“
  • eof β€” End of frame protocol defined field. Bye bestie, frame’s over. 🏁
  • sof β€” Start of frame protocol defined field. Hiiii, frame’s starting. 🌟
  • flags β€” Ring descriptor flags. Iconic little flag energy. 🚩
  • time β€” Fill with zero. That’s the instruction, periodt. 0️⃣

πŸ¦‹ Description πŸ¦‹

For TX, set length/eof/sof. For RX, length/eof/sof are set by the NHI. That’s the whole tea, fr fr. πŸ«–

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/thunderbolt/nhi_regs.h
  • enum icl_lc_mailbox_cmd(9)

okay bestie, that’s a wrap 🫢 Signing off from ./drivers/thunderbolt, dated October 2026, on the struct ring_desc(9) page. Mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from