Programmer’s Guide BCM5722
10/15/07
Broadcom Corporation
Document 5722-PG101-R Common Data Structures Page 42
Section 5: Common Data Structures
THEORY OF OPERATION
Several device data structures are common to the receive, transmit, and interrupt processing routines. These data structures
are hardware-related and are used by device drivers to read and update state information.
DESCRIPTOR RINGS
In order to send and receive packets, the host and the controller use a series of shared buffer descriptor (BD) rings to
communicate information back and forth. Each ring is composed of an array of buffer descriptors that reside in host memory.
These buffer descriptors point to either send or receive packet data buffers. The largest amount of data that a single buffer
may contain is 65535 (64K-1) bytes (The length field in BD is 16 bits). Multiple descriptors can be used per packet in order
to achieve scatter-gather DMA capabilities.
There are three main types of descriptor rings:
• Send Rings
• Receive Producer Rings
• Receive Return Rings
Note: The maximum number of Send BDs for a single packet is (0.75)*(ring size).