Functional Description
Figure 14-8. Rx Buffer Descriptor Format
Word 0
31
0
Next Descriptor Pointer
Word 1
31
0
Buffer Pointer
Word 2
31
27 26
16 15
11 10
0
Reserved
Buffer Offset
Reserved
Buffer Length
Word 3
31
30
29
28
27
26
25
24
23
22
21
20
19
18
16
SOP
EOP
Owner
EOQ
Teardo
Passe
Long
Short
MAC_
Overru
PKT_Err
Rx_Vlan_Enca
From_Port
ship
wn_Co
d_CR
Ctl
n
p
mplete
C
15
11
10
0
Reserved
packet_length
14.3.2.4.1.2.1 CPPI Rx Data Word – 0
next_descriptor_pointer
The 32-bit word aligned memory address of the next buffer descriptor in the RX queue. This is the
mechanism used to reference the next buffer descriptor from the current buffer descriptor. If the value of
this pointer is zero then the current buffer is the last buffer in the queue. The host sets the
next_descriptor_pointer.
14.3.2.4.1.2.2 CPPI Rx Data Word – 1
buffer_pointer
The byte aligned memory address of the buffer associated with the buffer descriptor. The host sets the
buffer_pointer.
14.3.2.4.1.2.3 CPPI Rx Data Word – 2
Buffer _Offset
Buffer Offset – Indicates how many unused bytes are at the start of the buffer. A value of 0x0000 indicates
that there are no unused bytes at the start of the buffer and that valid data begins on the first byte of the
buffer. A value of 0x000F (decimal 15) indicates that the first 15 bytes of the buffer are to be ignored by
the port and that valid buffer data starts on byte 16 of the buffer. The port writes the buffer_offset with the
value from the rx_buffer_offset register value. The host initializes the buffer_offset to zero for free
buffers. The buffer_length must be greater than the rx_buffer_offset value. The buffer offset is valid only
on sop.
Buffer _Length
Buffer Length – Indicates how many valid data bytes are in the buffer. Unused or protocol specific bytes at
the beginning of the buffer are not counted in the Buffer Length field. The host initializes the
buffer_length, but the port may overwrite the host initiated value with the actual buffer length value on
SOP and/or EOP buffer descriptors. SOP buffer length values will be overwritten if the packet size is less
than the size of the buffer or if the offset is nonzero. EOP buffer length values will be overwritten if the
entire buffer is not filled up with data. The buffer_length must be greater than zero.
1190
Ethernet Subsystem
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated