![](http://datasheet.mmic.net.cn/330000/PM7382-PI_datasheet_16444416/PM7382-PI_55.png)
RELEASED
DATA SHEET
PM7382 FREEDM-32P256
ISSUE 3
PMC-2010333
FRAME ENGINE AND DATA LINK MANAGER 32P256
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA,INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
44
packet is detected. The reader then informs the roamer that a transaction is
consumed. The roamer updates its transaction count and clears the non-zero
transaction count flag if required. The roamer then services the next channel
with its transaction flag set high.
The writer and reader determine empty and full FIFO conditions using flags.
Each block in the partial packet buffer has an associated flag. The writer sets
the flag after the block is written and the reader clears the flag after the block is
read. The flags are initialized (cleared) when the block pointers are written using
indirect block writes. The writer declares a channel FIFO overrun whenever the
writer tries to store data to a block with a set flag. In order to support optional
removal of the FCS from the packet data, the writer does not declare a block as
filled (set the block flag nor increment the transaction count) until the first double
word of the next block in channel FIFO is filled. If the end of a packet resides in
the first double word, the writer declares both blocks as full at the same time.
When the reader finishes processing a transaction, it examines the first double
word of the next block for the end-of-packet flag. If the first double word of the
next block contains only FCS bytes, the reader would, optionally, process next
transaction (end-of-packet) and consume the block, as it contains information not
transferred to the RMAC256 block.
8.5 Receive DMA Controller
The Receive DMA Controller block (RMAC256) is a DMA controller which stores
received packet data in host computer memory. The RMAC256 is not directly
connected to the host memory PCI bus. Memory accesses are serviced by a
downstream PCI controller block (GPIC). The RMAC256 and the host exchange
information using receive packet descriptors (RPDs). The descriptor contains
the size and location of buffers in host memory and the packet status information
associated with the data in each buffer. RPDs are transferred from the
RMAC256 to the host and vice versa using descriptor reference queues. The
RMAC256 maintains all the pointers for the operation of the queues. The
RMAC256 provides two receive packet descriptor reference (RPDR) free queues
to support small and large buffers. The RMAC256 acquires free buffers by
reading RPDRs from the free queues. After a packet is received, the RMAC256
places the associated RPDR onto a RPDR ready queue. To minimize host bus
accesses, the RMAC256 maintains a descriptor reference table to store current
DMA information. This table contains separate DMA information entries for up to
256 receive channels.
8.5.1 Data Structures
For packet data, the RMAC256 communicates with the host using Receive
Packet Descriptors (RPD), Receive Packet Descriptor References (RPDR), the