
78
Functional Operation
Chapter 3
AMD-8111 HyperTransport I/O Hub Data Sheet
24674
Rev. 3.00
April 2003
AMD Preliminary Information
Before any network frames can be sent or received, the unique 48-bit IEEE MAC address must be
written to the Physical Address Register (PADR). Normally this is done by a chipset initialization
routine that runs before the network device driver is loaded.
Finally after the Memory-Mapped I/O Base Address Register has been initialized and the operating
system has been loaded, the device driver software can write to various memory-mapped registers to
set up software parameters such as pointers to descriptor rings and the Logical Address Filter
contents.
3.10.2.2
Re-Initialization
Earlier members of the PCnet family of controllers had to be re-initialized if the transmitter and/or
the receiver were not turned on during the original initialization, and it was subsequently required to
activate them, or if either section was shut off due to the detection of a memory error, transmitter
underflow, or transmit buffer error condition. This restriction does not apply to this controller. The
memory error and transmit buffer error conditions cannot occur in the controller and the transmit
underflow condition does not stop the controller's transmitter.
3.10.2.3
Run and Suspend
Following reset, the transmitter and receiver of the controller are disabled, so no descriptor or data
DMA activity can occur. The receiver does process incoming frames to detect address matches, which
are counted in the RcvMissPkts register. No transmits occur except that pause frames may be sent
(see flow control section).
Setting the RUN bit in CMD0 causes the controller to begin descriptor polling and normal transmit
and receive activity. Clearing the RUN bit causes the controller to halt all transmit, receive, and DMA
transfer activities abruptly.
The controller offers suspend modes that allow stopping the device with orderly termination of all
network activity. Transmit and receive are controlled separately.
Setting the RX_FAST_SPND bit in CMD0 suspends receiver activity after the current frame being
received by the MAC is complete. If no frame is being received when RX_FAST_SPND is set, the
receiver is suspended immediately. After the receiver is suspended, the RX_SUSPENDED bit in
STAT0 is set and SPNDINT interrupt bit in INT0 is set.
Setting the RX_SPND bit in CMD0 suspends the receiver in the same way as RX_FAST_SPND, but
the RX_SUSPENDED bit and SPNDINT interrupt bit are only set after any frames in the receive
FIFO have been completely transferred into system memory and the corresponding descriptors
updated. No receive data or descriptor DMA activity occurs while the receiver is suspended.
When the receiver is suspended, no frames are received into the receive FIFO, but frames are checked
for address match and the RcvMissPkts counter incremented appropriately, and frames are checked
for Magic Packet frame match if Magic Packet technology mode is enabled.
Setting the TX_FAST_SPND bit in CMD0 suspends transmitter activity after the current frame being
transmitted by the MAC is complete. If no frame is being transmitted when TX_FAST_SPND is set,