![](http://datasheet.mmic.net.cn/330000/PM7367-PI_datasheet_16444408/PM7367-PI_57.png)
DATA SHEET
PM7367 FREEDM-32P32
ISSUE 2
PMC-1991499
FRAME ENGINE AND DATA LINK MANAGER
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMER’S INTERNAL USE
43
Note that the maximum value to which an end pointer may be set is FFFF hex,
resulting in a maximum offset from the queue base address of (4*(FFFF-1)) =
3FFF8 hex. An end pointer must not be set to 0 hex in an attempt to include
offset 3FFFC hex in a queue.
As shown in Figure 6, the ready queue elements have a status field as well as an
RPDR field. The RMAC fills in the status field to mark whether a packet was
successfully received or not. The host reads the status field. The ready queue
element is shown in Table 7 below along with the definition of the status bits.
If the RMAC requires a buffer of a particular size (i.e. small or large) and no
RPDR is available in the corresponding free queue, a RPDR from the other free
queue is substituted. The host may, therefore, force the RMAC to store
received data in buffers of only one size by setting one of the free queues to zero
length, i.e. by setting the start and end index registers of one of the queues to
equal values. If the RMAC requires a buffer and neither free queue contains
RPDRs, an RPQ_ERRI interrupt is generated.
Table 7 – RPDRR Queue Element
Bit 15
Bit 0
STATUS[1:0]
RPDR[13:0]
Field
Description
STATUS[1:0]
The encoding for the status field is as follows:
00 - Successful reception of packet.
01 - Unsuccessful reception of packet.
10 - Unprovisioned partial packet.
11 - Reserved.
RPDR[13:0]
The RPDR[13:0] field defines the offset of the first
RPD in a linked chain of RPDs, each pointing to a
buffer containing the received data.
As described previously, the RMAC links a large buffer RPD to a small buffer
RPD if more than one buffer is needed for a packet. The RMAC links additional
large buffer RPDs to the end of the chain as required until the entire packet is
copied to host memory (provided that the host has not disabled use of both free
queues by setting one of them to length zero). After storing the packet data, the
RMAC places the STATUS+RPDR for the first RPD onto the ready queue. Only
the RPDR associated with the first RPD is placed onto the ready queue. All
other required RPDs are linked to the first RPD as shown in Figure 7.