
Chapter 3
Functional Operation
79
24674
Rev. 3.00
April 2003
AMD-8111 HyperTransport I/O Hub Data Sheet
AMD Preliminary Information
the transmitter is suspended immediately. After the transmitter is suspended, the TX_SUSPENDED
bit in STAT0 is set and SPNDINT interrupt bit in INT0 is set.
Setting the TX_SPND bit in CMD0 suspends the transmitter in the same way as TX_FAST_SPND,
but the TX_SUSPENDED bit and SPNDINT interrupt bit are only set after any frames in the transmit
FIFO have been completely transmitted. No transmit descriptor or data DMA activity occurs while
the transmitter is suspended.
When the transmitter is suspended, no frames are transmitted except for flow control frames (see
Flow Control section).
It is not meaningful to set both TX_SPND and TX_FAST_SPND at the same time, nor is it
meaningful to set both RX_SPND and RX_FAST_SPND at the same time. Doing so causes
unpredictable results. However, transmit and receive are independent of each other, so one can be
suspended or fast suspended while the other is running, suspended, or fast suspended.
It is recommended when software polls this register that a delay be inserted between polls.
Continuous polling reduces the bus bandwidth available to the controller and delays completion of the
suspend operation.
It is recommended that software use the SPNDINT interrupt to determine when the controller has
suspended after one or more suspend bits have been set. This results in the least competition for the
PCI bus and thus the shortest time from setting of a suspend bit until completion of the suspend
operation.
The suspend bits can be used either to stop the transmitter or receiver while the controller is running
or to prevent the transmitter or receiver from operating when the controller starts running. Clearing
the RUN bit in CMD0 generates a pulse that clears all the suspend command and status bits
(TX_SPND, RX_SPND, TX_FAST_SPND and RX_FAST_SPND in CMD0, TX_SUSPENDED,
and RX_SUSPENDED in STAT0 and SPNDINT in INT0). To restart the controller with the
transmitter disabled, set RUN and TX_SPND. To restart the controller with the receiver disabled, set
RUN, RX_SPND, and RDMD0. Since the suspend bit is cleared when RUN is cleared, the
appropriate suspend bit must be set each time RUN is set. Since the suspend bits and RUN are in the
same register (CMD0), the suspend bit can be set at the same time that RUN is set.
3.10.2.4
Descriptor Management
The network controller contains its own DMA controller that automatically transfers network frame
data between the network controller and buffers in host system memory. The actions of the DMA
controller are controlled by data structures in system memory called descriptors. Each descriptor
contains a pointer to a buffer in system memory plus several control and status fields. The Descriptor
Management Unit automatically reads control information from descriptors to determine how to
manage the data transfers and writes back information about the status of the transfers.
Descriptor management is accomplished through message descriptor entries organized as ring
structures in memory. There are five descriptor rings, four for transmit and one for receive. The
implementation of four descriptor rings for transmit allows the controller to provide improved support
for quality of service. Each descriptor ring is allocated to serve a certain class of traffic, with a clearly