Receive Return Rings
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 93
The Receive Producer Ring Producer Index register contains the index value of the next buffer descriptor from
the producer ring that is available for DMA to the Ethernet controller from the host. When the host software
updates the Receive Producer Ring Producer Index, the Ethernet controller is automatically signaled that a new
BD is waiting for DMA. At initialization time, these values must be initialized to zero. These indices are 64-bit
wide.
Receive Return Rings
Receive Return Rings (RR) are host-based memory blocks that are used by host software to keep track of the
where the Ethernet controller is putting the received packets related receive buffer descriptors. Unlike the
producer rings, the return rings reside only in host memory. The Ethernet controller uses the BDs in the NIC
memory that are previously copied from the producer rings to use when packets are received from the LAN. It
places the BDs that correspond to received packets in the return rings.
Return rings are the exact opposite of producer rings, except that they are not categorized by the maximum
length receive packets supported. They are actually categorized by priority or class of received packet. The
highest priority return ring is ring 1, and the lowest priority is the last ring (Return Ring 2–Return Ring 4
depending on how many rings are set up by the host software).
The Receive Return Ring RCBs are used to set up return rings in much the same way the Receive Producer
Ring RCB is used to set up the receive producer ring. These RCBs for the return rings are set in the
Miscellaneous memory region (SSRAM) at offset 0x200 (this region should not be confused with the register
space in the chip). The RCB max_len field is used to indicate the number of buffer descriptor entries in a return
ring. If an invalid value is set, the Ethernet controller indicates an attention error in the Flow Attention register.
shows receive return rings.
0x288–0x28F
0x5888–0x588F
Receive BD Return Ring 2 Consumer Index
RW
0x290–0x297
0x5890–0x5897
Receive BD Return Ring Consumer Index
RW
Table 20: Mailbox Registers (Cont.)
Offset
(High-Priority
Mailboxes for
Host
Standard Mode)
Offset
(Low-Priority
Mailboxes for
Indirect Mode)
Register
Access