
IBM2520L8767
IBM Processor for ATM Resources
Receive AAL Processing (RAAL)
Page 284 of 553
atmrm.chapt05.01
08/27/99
The DMA list follows immediately after the packet header and is variable length based on how many pages
were needed to DMA the packet into the system. The receive offset specified in the LCD, must be large
enough to hold the packet header and the maximum DMA list that will be used.
There may be some pad bytes based on the value of the receive offset specified in the receive LCD. This can
be used to align the packet data on some boundary (eight-byte boundary is optimal for IBM2520L8767).
Next is the actual packet received from the network. It is divided into a header area, followed by 0-N fully
populated pages, possibly followed by a partial page, followed by the AAL5 pad and trailer bytes. All of these
areas are contiguous in the IBM2520L8767. The header area is 0-255 bytes as specified in the LCD. This
area is kept with the packet header and DMA list when DMAed to the system. This allows the device driver to
split protocol information and user pages before moving to the system.
Complete pages are DMAed to the system as the packet is received. When a complete page has been
received, a real system page address is obtained from the specified receive queue number. Using this
address, the IBM2520L8767 address, and the page size, a DMA descriptor is built and enqueued to DMAQS,
and the address is written to the DMA list in the packet header. When the packet completes (uind=1 in last
cell), the final page is DMAed to the system, and the DMA list is updated. The lower bits of this final DMA list
entry contains how many bytes were in page N+1 (zero if page was complete). Once the DMA list is updated,
a DMA descriptor is obtained from the receive queue number specified in the ctRxqNum in the LCD. This final
descriptor is used to DMA the data in packet header through the header bytes into a system specified
address. This mechanism is similar to normal cut-through modes, so the IBM2520L8767 buffer can be freed
using subsequent DMA descriptors.
Single Page Mode
For short packets, a single page size can be specified in RAALL Scatter Page Size and Queue Register. If all
of the packet data and the packet header fit in this space, then all of the data is DMAed with the packet
header when the packet completes.
Scatter Error Recovery
During reception, it is OK to not have a real page address available. As more cells are received, RAALL will
attempt to catch up. If a packet completes and there is a lack of pages, then a no page event is posted. If
running in receive bad frame mode then the user needs to query and free up any entries in the DMA list. This
can be done easily with the new N-to-1 DMA descriptor. Alternately, the user can move the rest of the data
and surface the packet because the packet is actually a good packet. If not running in receive bad frame
mode, the DMA list and packet are automatically freed for the user and the event contains the LCD address
instead of the packet address.
If an error occurs in the packet (eg. CRC), then the corresponding event (eg. bad CRC) is posted. Again, the
cleanup depends on bad frames being received.
If a packet is received, and all pages were DMAed, but there was a lack of DMA descriptor to DMA the
header, then a no descriptor event is posted. Again, cleanup depends on bad frames being received.