97
5.0 Reassembly Coprocessor
5.6 Status Queue Operation
RS8234
Datasheet for RS8234 xBR ServiceSAR
N8234DS1B
Each time the Rsm coprocessor writes a status queue entry, it sets the VLD bit
in the entry to a logic high, and increments the WRITE pointer in the status queue
base table entry for that status queue.
When the Host processes the status queue, it reads entries based on the Host
READ pointer for that status queue. It reads only the VLD bit at first before read-
ing any other word, in order to maintain data coherency.
When the Host finds the VLD bit set to a logic high, it directs the reassembly
coprocessor to process the status queue entry, increment the Host READ counter
and reset the VLD bit to a logic low. The Host also periodically writes the READ
counter value to the READ_UD field in the status queue base table entry for that
queue.
When in Message Mode, the Rsm coprocessor writes a status entry at the
completion of a CPCS-PDU. Optionally, a status entry can be written at both the
beginning and end of a message, to allow the Host to initiate protocol header pro-
cessing in advance of receiving the complete message. The Host can then traverse
the linked cell buffers to collect the complete CPCS-PDU.
If the BINTR bit in the Rsm VCC Table entry is a logic high, the Rsm copro-
cessor writes an additional status queue entry at the completion of the first buffer
of a CPCS-PDU. This status queue entry is delineated by the BOM bit set and the
EOM bit cleared. This allows the Host to begin packet processing before recep-
tion of the complete CPCS-PDU. In this case only the BD_PNTR and
VCC_INDEX fields are valid in that status queue entry.
The STM_MODE bit in the Rsm VCC Table, being set to a logic high, acti-
vates Streaming Mode for that channel. In this mode, the Rsm coprocessor writes
a status entry for each completed buffer. The BD_PNTR field in the status entry
points to the corresponding buffer descriptor for that single buffer. Only the last
status entry for that CPCS-PDU, with EOM bit a logic high, contains valid status
data for that PDU.
Refer to Chapter 2 for more detailed information on the operation of status
queues.
5.6.1.3 Errors
The Rsm coprocessor also writes a status entry for several error conditions,
including:
Reassembly time-out
Early packet discard
Per-channel firewall
CPCS abort
To ensure that an error indication occurs even if no CPCS-PDUs are being
reassembled on channels having free buffer queues in the empty state, a BOM cell
will cause a status queue entry to be written. If a BOM cell is received, and no
early packet discards have occurred on channels mapped to the empty free buffer
queue, then a status queue entry is written with the BOM and UNDF bits set to a
logic high, and either the RSM_HF_EMPT bit in the HOST_ISTAT1 register or
the RSM_LF_EMPT bit in the LP_ISTAT1 register is set to a logic high. This sta-
tus does not point to a linked list of buffer descriptors. It will be written a maxi-
mum of once per free buffer queue empty condition.
5.6.1.4 Host Detection
of Status Queue Entries
The Host can use either a polling operation or an interrupt routine to detect new
status queue entries.