
IBM2520L8767
IBM Processor for ATM Resources
atmrm.chapt05.01
08/27/99
Receive Queues (RXQUE)
Page 311 of 553
RXQUE Event Routing
Events are routed to a receive queue based the current event type and mode of the chip. Events fall into
these categories:
Normal Events
Error Events
Counter Events
Transmit Complete Events
DMA Events (transmit/receive)
ABR Events
Pools Status Events
Refer to the table at the beginning of this chapter to see how the different events are categorized.
All events other than normal and error events are routed using the corresponding RXQUE Event Routing
Registers.
Normal events are always routed to the receive queue specified in the receive portion of the LCD.
Error events are special; they are routed based on the values of the "receive bad frame" mode bit and the
"always route error events" mode bit in RXQUE Control Register. If the always route error events bit is on,
then the error events are always routed to the error queue. Otherwise, if the receive bad frame mode is on,
the error events are routed to the receive queue specified in the receive portion of the LCD just as a normal
event. When receive bad frames is off, the error events are routed to the error queue.
RXQUE Normal Operation
This section is meant to help describe how to use the receive queues (rxq) and the receive queue operations.
The receive queue contains events for the end user to process. These events are obtained by the user by
executing the REASM dequeue operation. The user can be notified of new events by setting up the threshold
and interrupt enable registers appropriately. Otherwise, the receive queues length register can be polled to
check for events.
The dequeue operation is executed by reading the dequeue register address for the appropriate receive
queue. The event at the head of the queue is returned and the event is removed from the queue. Some
events have a packet/cell buffer associated with it. This buffer is owned by the user and it is the users respon-
sibility to free this buffer.
The following pseudo code illustrates how a receive queue could be processed: