SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The multiple-packet mode asynchronous and control buffering scheme supports more than one packet per system memory buffer, as shown in Figure 26-236. The multiple-packet mode reduces the interrupt rate for packet channels at the cost of increasing buffering and latency.
For Tx packet channels in multiple-packet mode, software sets the packet start bit (PSn) for every buffer. Setting PSn informs hardware that the first two bytes of the buffer contains the port message length (PML) of the first packet. After the first packet, hardware keeps track of where packets start and end within the current buffer. Software should not write to PSn while the buffer is active (RDYn = 1 and DNEn = 0). For Tx packet channels, the buffer is done (DNEn = 1) when the last byte of the last packet in the buffer is read from system memory. Software should set the buffer depth to contain the exact number of complete packets for that buffer. Segmented buffers are not supported for Tx packet channels in multiple-packet mode.
For Rx packet channels in multiple-packet mode, PSn has no meaning and should be ignored. Software is responsible for keeping track of where each packet starts and ends within the multiple-packet buffer via the packet PML. The buffer done bit (DNEn) is set in hardware for Rx channels when a buffer is full (see Buffer 1 in Figure 26-236) or if a packet ends exactly 1-byte before the end of the buffer (see Buffer 2 in Figure 26-236). Multiple-packet mode also supports segmented Rx packets spanning two or more buffers (see Buffers 3 – 6 in Figure 26-236).
Figure 26-236 Multi-Packet Mode System Memory| Bit Offset | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | CE | LE | PG | Reserved | ||||||||||||
| 16 | Reserved | |||||||||||||||
| 32 | RDY1 | DNE1 | ERR1 | PS1 (1) | BD1[11:0] | |||||||||||
| 48 | RDY2 | DNE2 | ERR2 | PS2 (1) | BD2[11:0] | |||||||||||
| 64 | BA1[15:0] | |||||||||||||||
| 80 | BA1[31:16] | |||||||||||||||
| 96 | BA2[15:0] | |||||||||||||||
| 112 | BA2[31:16] | |||||||||||||||