
Chapter 3
Functional Operation
91
24674
Rev. 3.00
April 2003
AMD-8111 HyperTransport I/O Hub Data Sheet
AMD Preliminary Information
Transmit FIFO Underflow
Late collision errors can only occur when the device is operating in half-duplex mode. Loss of carrier
and transmit FIFO underflow errors are possible when the device is operating in half- or full-duplex
mode.
When a late collision or underflow error occurs in the middle of a multi-buffer frame transmission, the
appropriate error counter is incremented, and the transmission is aborted with an inverted FCS field
appended to the frame. The OWN bits in the current and subsequent descriptors are cleared until the
STP bit is found, indicating the start of the next frame.
If REX_UFLO (CMD2, bit 1) is set, the transmitter does not flush the frame data from the transmit
FIFO after a transmit FIFO underflow error occurs. Instead, it waits until the entire frame has been
copied into the transmit FIFO, and then it restarts the transmission process.
3.10.5.3.1 Loss of Carrier
The XmtLossCarrier counter is incremented if transmit is attempted when the LINK_STAT bit in the
STAT0 register is 0.
The LINK_STAT bit is set automatically during the auto-negotiation process when the external PHY
device determines that the link is up. Alternatively the software can bypass the auto-negotiation
process by clearing the EN_PMGR bit in CMD3 and setting FORCE_LINK_STATUS, also in
CMD3.
3.10.5.3.2 Late Collision
A late collision is detected when the device is operating in half-duplex mode and a collision condition
occurs after one slot time (512 bit times) after the transmit process was initiated (first bit of preamble
commenced). When it detects a late collision, the controller increments the XmtLateCollision
counter. The controller abandons the transmit process for that frame and processes the next transmit
frame in the ring.
3.10.5.3.3 Transmit FIFO Underflow
An underflow error occurs when the transmitter runs out of data from the transmit FIFO in the middle
of a transmission. When this happens, an inverted FCS is appended to the frame so that the intended
LAN Ethernet receiver will ignore the frame, and the XmtUnderrunPkts counter is incremented. If
REX_UFLO (CMD2, bit 1) is set to 1, the transmitter then waits until the entire frame has been
loaded into the transmit FIFO, and then it restarts the transmission of the same frame. If the
REX_UFLO is cleared to 0, the transmitter does not attempt to retransmit the aborted frame.
The REX_UFLO bit should not be set in a (nonstandard) system that allows frames that are larger
than the transmit FIFO size.