Receive Producer Ring
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 90
Receive Producer Ring
A Receive Producer Ring is an array containing a series of Receive Buffer Descriptors (BD). The Receive
Producer Ring is host-based and a portion of the available buffer descriptors are cached in Ethernet controller
internal memory.
A receive producer ring contains a series of buffer descriptors which in turn contain information of host memory
locations to where packets are placed by the Ethernet controller at reception.
Setup of Producer Rings Using RCBs
A Ring Control Block (RCB) is used by the host software to set up the shared rings in host memory. In the context
of producer ring, the Receive Producer Ring RCB is a set of registers (or internal device memory offsets) used
to define the Receive Producer Ring. The host software must initialize the Receive Producer Ring RCB.
Receive Producer Ring RCB—Register Offset 0x2450–0x245f
Other Considerations Relating to Producer Ring Setup
Other registers that affect the producer rings must be initialized by the host software. These registers include
the Receive BD Ring Replenish Threshold register, the Receive MTU register, and the Accept Oversized bit (bit
5) in the Receive MAC Mode register.
• Receive BD Producer Ring Replenish Threshold registers:
–
“Standard Receive BD Producer Ring Replenish Threshold Register (offset: 0x2C18)” on page 373
–
“Receive Data Completion Control Registers” on page 371
.
These registers are used for setting the number of BDs that the Ethernet controller can use up before
requesting that more BDs be DMAed from a producer ring. In other words, the device does not initiate a DMA
for fetching the Rx BDs until the number of BDs made available to the device by the host is at least the value
programmed in this register.
• Receive MTU register (
“Receive MTU Size Register (offset: 0x43C)” on page 316
). This 32-bit register is
set to a value that is the maximum size of a packet that the Ethernet controller receives. Any packets above
this size is labeled as an oversized packet. The value for this register is typically set to 1522, which is the
Standard Producer Ring RCB typical setting. If Jumbo frames are supported, the MTU would be set to the
maximum Jumbo frame size.
• Receive MAC Mode register (
“Receive MAC Mode Register (offset: 0x468)” on page 322
). If the Accept
Oversized bit (bit 5) of this register is set, the Ethernet controller accepts packets (of size up to 64 KB)
larger than the size specified in the MTU.