BCM5722
R
P
ECEIVE
RODUCER
A Receive Producer Ring is an array containing a series of Receive Buffer Descriptors (BD). The Receive Producer Ring is
host-based and 25% of the available buffer descriptors are cached in BCM5722 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 BCM5722 Ethernet controller at reception. The limit on the number of buffer descriptors in
receive producer ring is 512.
S
P
ETUP OF
RODUCER
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 register that is 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 need to 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–0x2C1B)—BCM5722,
BCM5755, BCM5755M, BCM5756M, BCM5757, BCM5754, BCM5787 Only" on page
-
"Receive BD Completion Control Registers" on page
These registers are used for setting the number of BDs that the BCM5722 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
that is the maximum size of a packet that the BCM5722 Ethernet controller receives. Any packets above this size is
labeled as an oversized packet. The value for this register is typically set to 1518, 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
(bit 5) of this register is set, the BCM5722 Ethernet controller accepts packets (of size up to 64 KB) larger than the size
specified in the MTU.
Page 61
Receive Producer Ring
R
ING
R
RCB
INGS USING
S
("Receive MAC Mode Register (Offset 0x468)" on page
Bro adco m C orp or atio n
291.
250). This 32-bit register is set to a value
Programmer's Guide
10/15/07
290.
254). If the Accept Oversized bit
Document 5722-PG101-R
Need help?
Do you have a question about the BCM5722 and is the answer not in the manual?