Texas Instruments TNETE211 Network Card User Manual


 
GO Command
6-4
6.2 GO Command
To transmit and receive data, the ThunderLAN driver must create a linked list
of frames. This subsection describes the steps to create such a linked list, and
the process for initiating transfer by using a GO command.
6.2.1 Starting Frame Reception (Rx GO Command)
To create a linked receive list structure the driver:
1) Allocates memory for the list structures and receive buffers
2) Aligns the list to the nearest octet (byte) boundary
3) Links the lists as follows:
a) Determines the physical address of the next receive 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) Determines frame size for the Rx buffers (generally the maximum al-
lowable frame size) and writes it to the frame size field.
d) Sets the data count to the length of the receive buffer. This is a flag that
tells ThunderLAN that it is the last fragment.
e) Calculates the list’s receive buffer’s physical address and writes it to
the data address.
4) Sets up the next list
After all lists are complete, ThunderLAN goes to the last list’s forward pointer
and sets it to 0x00000000h. To begin frame reception the host:
1) Creates a linked list of receive lists pointing to the receive buffers
2) Writes the address of the first list to CH_PARM
3) Brings ThunderLAN out of reset, if necessary, by writing 0x0000h to the
least significant word (LSW) of HOST_CMD
4) Writes a 1 to the GO bit of HOST_CMD with the receive channel selected
This assumes the interrupt pacing timer has been initialized. If not, write to
HOST_CMD with the Ld_Tmr bit set and the pacing timer time-out value in the
Ack_Count field.
For frame reception, the driver must allocate enough memory for the receive
lists and buffers. The lists must be octet aligned. They are linked by having the