gsi_evt_ring_update(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ gsi_evt_ring_update(9) πŸŽ€

okay bestie, this is the page for gsi_evt_ring_update from the Kernel API Manual, and it's literally about updating transaction state from hardware. πŸ’… no cap.


✨ NAME ✨

gsi_evt_ring_update β€” Update transaction state from hardware

πŸ¦‹ SYNOPSIS πŸ¦‹

void gsi_evt_ring_update (struct gsi *gsi , u32 evt_ring_id , u32 index
);

πŸ’… ARGUMENTS πŸ’…

  • gsi β€” GSI pointer. It's the GSI pointer, bestie β€” that's the whole argument. 🫢
  • evt_ring_id β€” Event ring ID. The event ring's ID, iykyk. ✨
  • index β€” Event index in ring reported by hardware. Exactly that.

🌸 DESCRIPTION 🌸

okay so here's the tea. Events for RX channels contain the actual number of bytes received into the buffer. Every event has a transaction associated with it, and here we update transactions to record their actual received lengths. 🫢

When an event for a TX channel arrives, we use information in the transaction to report the number of requests and bytes that have been transferred. πŸ”₯

This function is called whenever we learn that the GSI hardware has filled new events since the last time we checked. The ring's index field tells the first entry in need of processing. The index provided is the first unfilled event in the ring (following the last filled one). πŸ‘‘

Events are sequential within the event ring, and transactions are sequential within the transaction array.

Note that index always refers to an element within the event ring. periodt. πŸ’…

πŸ”₯ SEE ALSO πŸ”₯


okay bye bestie! source/version: ./drivers/net/ipa; date: October 2026 β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from