SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
Queuing of packets onto a packet queue using the Ring Accelerator is logically equivalent but requires a different set of transactions from queuing packets in queue mode. The producer (entity which is going to queue an entry onto the ring) maintains a current write pointer and a free entry occupancy count for each ring it controls. To queue an entry the producer will write the entry contents (typically a pointer to the Packet Descriptor along with optional sideband information) to the memory location pointed to by the current write pointer and will decrement its free entry occupancy. After the producer has confirmed that the data has actually landed it memory, it will then write to the doorbell register for the ring to increment the used occupancy count for the ring.
More than one entry can be queued with a single doorbell write as the entry count in the doorbell write indicates how many entries have been queued.