
IBM2520L8767
IBM Processor for ATM Resources
atmrm.chapt05.01
08/27/99
Receive AAL Processing (RAAL)
Page 281 of 553
received. If the packet is completed and no DMA descriptors are available and the header has not been
DMAed, the packet is discarded. If the packet is completed before the threshold is met, the entire packet is
DMAed using a header DMA descriptor.
DMA Descriptors used for Header DMAs
The DMA descriptor placed in the DMA descriptor receive queue, must be valid descriptor. The source
address and length do not need to be filled in the first descriptor, as these are filled in by the IBM2520L8767
when the header DMA is scheduled. Either a single descriptor or a compound descriptor can be used (make
sure the number of descriptors is filled in least significant bits when they are placed in receive queue just as if
they were being enqueued to GPDMA). The user can be notified when the DMA is complete in several ways.
Either the notify on completion flag can be set, or the second descriptor can be used to enqueue an event to
a receive queue.
Doing Software Assisted DMAs on Packet Completion
After processing the packet header, an arbitrary system DMA descriptor can be built for the packet. The
packet address can be found in the sixth word of the packet header.
Note:
This implies that the receive offset is at least 24 bytes.
The address of the DMA descriptor (and the number of descriptors in low order bits) is then written into the
RAALL Cut-Through Descriptor Address Registers. Once the descriptor address is written, a RAALL
Cut-Through Operation is performed by writing the RAALL Cut-Through Operation (CTOP) Registers with the
base address of the packet. RAALL then looks at the current state of the packet. If the packet is complete and
has no errors, DMA is immediately scheduled. If the packet is complete, but there were errors, a DMA
canceled event is placed on the appropriate receive queue, and the event data contains the system DMA
descriptor address of the descriptor that would have been used (the packet is not freed). If the packet is still
being reassembled, then the LCD is marked for processing when the packet completes or an error occurs. If
the LCD was marked for later processing, when a packet completes, the DMA descriptor is scheduled or a
DMA canceled event is posted, depending if errors occurred.
Alternate Header DMA method
Normally the header data DMA is scheduled as soon as the threshold is crossed and a descriptor is available.
Alternatively, the AAL type can be set to six instead of seven. When set to six, the header DMA is not sched-
uled until the packet is complete.
Receive AAL0 and Non-User Data Cut-Through Support
Cut-through can also be used in non-FIFO AAL0 modes and can be set up for non-user data cells.
For AAL0 LCDs, the RTO enable bit in the LCD can be set to enable cut-through processing. When this bit is
set, the rxq_num field is used to get DMA descriptor instead of specifying which queue to place events on. In
this mode, for each cell that is received, a DMA descriptor is obtained from the specified receive queue. The
DMA descriptor is then scheduled with GPDMA. If there is no DMA descriptor avail, then a no descriptor
event is enqueued.
Cut-through for non-user data cells is similar. The receive queue from which DMA descriptors are obtained, is
specified in the RAALL Non-User Data Config Register. Cut-through for non-user data cells is enabled by
setting bit 15 in the RAALL Control Register.