Manual

DS31256
94 of 181
Figure 9-6. Receive Free-Queue Structure
Once the receive DMA is activated (by setting the RDE control bit in the master configuration register,
see Section 5
), it can begin reading data out of the free queue. It knows where to read data out of the free
queue by reading the read pointer and adding it to the base address to obtain the actual 32-bit address.
Once the DMA has read the free queue, it increments the read pointer by two dwords. A check must be
made to ensure the incremented address does not equal or exceed either the receive free-queue small-
buffer start address (in the case of the large buffer circular queue) or the receive free-queue end address
(in the case of the small buffer circular queue). If the incremented address does equal or exceed either of
these addresses, the incremented read pointer is set equal to 0000h.
Base + 00h
Base + 08h
Base + 10h
Base + 18h
Base + 20h
Base + End Address
Free-Queue Large Buffe
r
Host Write Pointe
r
Free-Queue Large Buffe
r
DMA Read Pointe
r
Maximum of 65,536
Free-Queue Descriptors
DMA Acquired
Free-Queue Descripto
r
Free-Queue Small Buffe
r
DMA Read Pointe
r
Free-Queue Small Buffe
r
Host Write Pointe
r
Free-Queue Small Buffe
r
Start Address
Large
Buffe
r
Circula
r
Queue
Small
Buffe
r
Circula
r
Queue
Host Readied
Free-Queue Descripto
r
DMA Acquired
Free-Queue Descripto
r
DMA Acquired
Free-Queue Descripto
r
DMA Acquired
Free-Queue Descripto
r
DMA Acquired
Free-Queue Descripto
r
DMA Acquired
Free-Queue Descripto
r
Host Readied
Free-Queue Descripto
r
Host Readied
Free-Queue Descripto
r
Host Readied
Free-Queue Descripto
r
Host Readied
Free Queue Descripto
r
Host Readied
Free-Queue Descripto
r
Host Readied
Free-Queue Descripto
r