Texas Instruments TNETE211 Network Card User Manual


 
GO Command
6-6
The HOST_CMD register can be written in a single, 32-bit operation. This im-
plies that several commands can be combined in one operation. An Rx EOC
interrupt can be acknowledged and Rx GO commands can be reissued in a
single operation.
6.2.2 Starting Frame Transmission (Tx GO Command)
To create a linked transmit list structure the driver:
1) Allocates enough memory for the list structures and transmit buffers
2) Aligns the list to the nearest octet (byte) boundary. This ensures that the
PCI bus does not insert any wait cycles to align the list with its internal
64-bit architecture.
3) Starts linking lists as follows:
a) Determines the physical address of the next transmit list and writes it
to this list’s forward pointer. This links the two lists together.
b) Initializes the CSTAT field for this list by setting bits 12 and 13 to 1
c) Initializes the frame_size to the transmit frame’s size
d) Sets the data count to 0x80000000h. This is a flag that tells Thunder-
LAN that it is the last fragment. ThunderLAN, however, DMAs the en-
tire ten fragments even though it may only use one fragment.
e) Calculates the list’s transmit buffer’s physical address and writes it to
the data address
4) Sets the next transmit list
After all lists are complete, go to the last list’s forward pointer and set it to
0x00000000h. To begin frame transmission, the host:
1) Creates a linked list of transmit lists pointing to the transmit frames
2) Gets the addresses of the next available Tx list
3) Clears the CSTAT field in the list
4) Ensures that the frame is padded to 60 bytes for a minimum IEEE 802.3
standard frame length of 64 bytes (60 bytes + 4-byte CRC)
5) Copies the media header to the Tx list transmit data buffer
6) Moves the frame length and the data buffer pointer to the transmit list
7) Disables interrupts