Descriptor Rings
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 71
Ring Control Blocks
Each ring (send or receive) has a Ring Control Block (RCB) associated with it. Each RCB has the format shown
in
The fields are defined as follows:
• The Host Ring Address field contains the 64-bit host address of the first element in the ring. Basically, this
field tells the controller precisely where in host memory the ring is located. This field only applies to rings
that are located in host memory. The Host_Ring_Address field contains the 64-bit address, in big-endian
ordering, of the first Send BD in host memory.
• The Flags field contains bits flags that contain control information about a given ring.
shows the two
flags that are defined.
• The Max_len field has a different meaning for different types of rings.
– This field indicates the number elements in the ring.
– The valid values for this field are 32, 64, 128, 256, 512, 1024, 2048, and 4096.
• Max ring sizes supported in the BCM5718 Family are shown below.
– Rx Return: 4096
– Rx Producer: 2048
– Rx Producer Jumbo: 1024
– Tx Producer: 512
• The NIC Ring Address field contains the address where the BD cache is located in the internal NIC address
space. This address is only valid for Receive Producer Rings. The Send Rings and Receive Return Rings
do not require this field to be populated. The location within the NIC address map for Receive Producer
Ring is provided in
.
Send Ring Control Blocks
The format of the Send RCB remains unchanged, only 15 more are added as shown in the Table below.
Table 4: Ring Control Block Format
Offset (bytes) 31
16 15
0
0x00
Host Ring Address
0x04
0x08
Max_len
Flags
0x0c
Reserved
Table 5: Flag Fields for a Ring
Bits
Name
Description
0
Reserved
Should be set to 0.
1
RCB_FLAG_RING_DISABLED
Indicates that the ring is not in use.
15:2
STD_MAX_PACKET_SIZE
Indicates maximum frame size for the ring.