gsi_evt_ring_update(9)
π 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 π₯
- Kernel file
./drivers/net/ipa/gsi.c - The IPA Generic Software Interface(9)
gsi_trans_tx_completed(9)gsi_isr(9)gsi_channel_poll_one(9)gsi_channel_poll(9)
okay bye bestie! source/version: ./drivers/net/ipa; date: October 2026 β mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms