Texas Instruments TNETE110A Network Card User Manual


 
List Management
5-2
5.1 List Management
Some of the more commonly used list management terms are defined here:
List A list is a structure in host memory which is composed of pointers to
data. The list includes information on the location of a frame, its size,
and its transmission/receive status. A list can represent only one
frame, but lists can be linked through the forward pointer. This way,
multiple frames can be represented by linked lists.
Figure 5–1. List Pointers and Buffers
To next list
Buffer
Buffer
etc.
+16
+14
+12
+8
+4
+0
Data count
Data address
Data address
Data count
CSTATFrame size
Forward pointer
Buffer A buffer is an allocated area in host memory where a frame fragment
is located. It is pointed to by the list structure. The buffer serves as a
location where ThunderLAN DMAs a received frame and from where
ThunderLAN DMAs a frame to be transmitted. A buffer can store a
whole frame or part of one. It may not hold more than one frame. A
list may point to one or more buffers for the frame associated with
those buffers.
Frame A frame is the data that is transmitted on the network. A frame can use
one or multiple buffers.
GO
Command
A GO command tells ThunderLAN to initiate frame transmission or re-
ception. ThunderLAN uses the list structure to determine which buff-
ers to use in this process.
Ack Acking is the process by which the host driver acknowledges to
ThunderLAN the number of frames it has processed.
A properly written ThunderLAN driver is able to work rapidly and use the CPU
infrequently, since the driver only needs to build and maintain a small list for
each frame. The actual data transfer to and from the host is handled by Thun-
derLAN in hardware. This frees the host CPU for other applications.
Lists can also be linked by putting the forward pointer in one list at the begin-
ning of the following list. Linking lists allows ThunderLAN to process more than
one frame without having the driver issue a separate transmit/receive (Tx/Rx)
open channel command (GO command) for each frame. Moreover, the driver