Intel 82558 Switch User Manual


 
84 Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual
Host Software Interface
Link Address
This is the 32-bit address of the next command block. It is added to the CU base to
obtain the actual address.
EL (Bit 31)
If this bit is set to one, it indicates that this command block is the last one on the CBL.
The CU will go from the active to the idle state after the execution of the CB is finished.
This transition will always cause an interrupt with the CNA/CI bit set in the SCB.
S (Bit 30)
If this bit is set to one, the CU will be suspended after the completion of this CB. A CNA
interrupt will be generated if the device is configured for this. The CU transitions from the
active to the suspended state after the execution of the CB.
I (Bit 29)
If the I bit is set to one, the device generates an interrupt after the execution of the CB is
finished. If I is not set to one, the CX interrupt will not be generated.
CID (Bits 28:24)
The CNA Interrupt Delay field is only present on 82558 and later generation controllers.
(It is not a valid field for the 82557, unless special microcode is downloaded to this
device.) The CID indicates the length of time CNA interrupts are delayed by the device.
Bits 23:21 These bits are reserved and should all be set to 0.
NC
0: CRC and Source Address are inserted by the controller. If the “No Source Address
Insertion” (NSAI) bit is set by the configure command, then only the CRC is inserted by
the controller. Normally, this bit should be set because it is desirable to have the device
compute and insert the CRC automatically.
1: CRC and Source Address are not inserted by the controller and are assumed to come
from memory.
SF
This bit indicates whether the device is operating in simplified or flexible mode.
0 = Simplified Mode. All transmit data is in the TCB, and the TBD array address field
must equal all 1s.
1 = Flexible Mode. Data is in the TCB (optional) and in a linked list of the TBDs.
CMD (Bits 18:16) This is the transmit command, which has a value of 100b.
C (Bit 15)
The C bit indicates that the transmit DMA has completed processing the last byte of data
associated with the TCB. This is not the actual completion of the transmit command as
the C bit indicates in other action commands. The actual completion of a transmit
command occurs when the frame is actually sent out on the wire. At the end of actual
transmission, no further status is posted in the TCB, but the transmit statistical counters
are updated.
OK (Bit 13)
The OK bit indicates that the command was executed without error. If it equals 1, no error
occurred (command executed OK). If the OK bit is zero and the C bit is set, then an error
occurred.
NOTE: For the transmit command, the OK bit is always set when the C bit is set.
U (Bit 12)
The U bit indicates that one or more underruns were encountered by this or previously
transmitted frames since the last TCB status update. Since there is no mechanism for
indicating underruns during or at the end of frame transmission, this bit is set in addition
to the transmit underruns statistical counter for software management purposes.
Bits 11:0 These bits must be set to all zeros.
TBD Array
Address
In flexible mode, this is a 32-bit address pointing to the first TBD in a contiguous list of
TBDs called the TBD array. A TBD is two Dwords, a transmit buffer pointer and buffer
size data. In simplified mode this field should be set by software to a null pointer
(0FFFFFFFFh).
TBD Number
In flexible mode, this represents the number of transmit buffers in the contiguous TBD
array. It should have a one to one correspondence of TBDs and buffers in the array. If the
device finds the TBD number equal to 0, it assumes the TBD array address is a null
pointer and the EOF bit is set. The 82558 and 82559 have a special dynamic TBD mode
that the 82557 does not have. If the dynamic TBD mode is enabled (in the configure
command), software should write a value of FFh into this field. Software should also
mark each TBD as valid or invalid. In the 82557, the TBD number is the only indication
that the TBD is the last associated with a particular transmit frame.