Receive side, Overview, Eceive – Rainbow Electronics DS31256 User Manual
Page 85: 2 receive side, 1 overview

DS31256
85 of 181
9.2 Receive Side
9.2.1 Overview
The receive DMA uses a scatter-gather technique to write packet data into main memory. The host keeps
track of and decides where the DMA should place the incoming packet data. There are a set of
descriptors that get handed back and forth between the DMA and the host. Through these descriptors the
host can inform the DMA where to place the packet data and the DMA can tell the host when the data is
ready to be processed.
The operation of the receive DMA has three main areas, as shown in
. The host writes to the free-queue descriptors informing the DMA where it can place the
incoming packet data. Associated with each free data buffer location is a free packet descriptor where the
DMA can write information to inform the host about the attributes of the packet data (i.e., status
information, number of bytes, etc.) that it outputs. To accommodate the various needs of packet data, the
host can quantize the free data buffer space into two different buffer sizes. The host sets the size of the
buffers through the receive large buffer size (RLBS) and the receive small buffer size (RSBS) registers.
Register Name:
RLBS
Register Description: Receive Large Buffer Size Select
Register Address:
0790h
Bit
# 7 6 5 4 3 2 1 0
Name LBS7 LBS6 LBS5 LBS4 LBS3 LBS2 LBS1 LBS0
Default
0 0 0 0 0 0 0 0
Bit
# 15 14 13 12 11 10 9 8
Name n/a n/a
n/a
LBS12 LBS11 LBS10 LBS9 LBS8
Default
0 0 0 0 0 0 0 0
Note: Bits that are underlined are read-only; all other bits are read-write.
Bits 0 to 12/Large Buffer Select Bit (LBS0 to LBS12)
0000000000000 (0000h) = buffer size is 0 Bytes
1111111111100 (1FFCh) = buffer size is 8188 Bytes
Register Name:
RSBS
Register Description: Receive Small Buffer Size Select
Register Address:
0794h
Bit
# 7 6 5 4 3 2 1 0
Name SBS7 SBS6 SBS5 SBS4 SBS3 SBS2 SBS1 SBS0
Default
0 0 0 0 0 0 0 0
Bit
# 15 14 13 12 11 10 9 8
Name n/a n/a
n/a
SBS12 SBS11 SBS10 SBS9 SBS8
Default
0 0 0 0 0 0 0 0
Note: Bits that are underlined are read-only; all other bits are read-write.
Bits 0 to 12/Small Buffer Select Bit (SBS0 to SBS12)
0000000000000 (0000h) = buffer size is 0 Bytes
1111111111100 (1FFCh) = buffer size is 8188 Bytes