Intel 82559 用户手册

下载
页码 175
90
Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual  
 
 
Host Software Interface
The device received a frame and generated a receive interrupt.
If neither of these events occurred, the controller generates a CNA interrupt when the CID time 
interval has elapsed. The actual delay experienced may be longer than the CID value that was 
loaded. The CID is given in a granularity of approximately 256 PCI clocks and the maximum value 
is 8192 clocks (which corresponds to 8 to 256 µs in a 33 MHz system).
The delayed CNA interrupt flow is outlined below.
1. The delayed CNA interrupt is issued in the suspend or idle state. In other words, if the device 
is in the suspend or idle state, raising the interrupt would be delayed by specified time in the 
CID field of each command header.
2. The end of receive processing cancels the pending delayed CNA interrupt. It also causes the 
CNA interrupt to be set simultaneously with the frame interrupt, regardless of the internal 
counter value. This is based on the theory that any pending transmit cleanup would be done in 
the context of a receive interrupt.
3. Resume and start commands cancel pending delayed CNA interrupts. This allows only the last 
TCB of a chain to be interrupted (the rolling delay).
4. The CX interrupt (caused by the I bit) is not affected in any way by this mode or delay 
parameter. It may be that regardless of anything else, we may want to interrupt on, say, every 
third TX in a chain to return resources to the protocol. This would be accomplished by setting 
the I bit in the TxCB. There would be no delay associated with an I-bit interrupt. Note that if I 
and S bits are set in a TxCB and the CID field is set to a non-zero value, the CX & CNA 
interrupts will not occur together.
5. The delay specification is a 5-bit field and ranges between 8 and 256 µs, in 8 µs resolution. 
The actual delay will only be within a certain percentage of the value specified (but never less 
than the specified delay). The inaccuracy percentage is typically in the range of 10 to 20%. 
However, in a few extreme conditions (for example, a lot of bad frames received), the delay 
may be more than 20% above the specified delay.
The CNA interrupt delay (CID) field in the TCB is located in bits 28:24 of the first Dword of the 
TCB.
6.4.2.6
Load Microcode (101b)
Note: Documentation for microcode is beyond the scope of this manual.
The load microcode command downloads a 64 Dword microcode patch to the device’s internal 
microcode.
The microcode that operates on one device (for example, the 82557), will not operate on another 
device (the 82558 or 82559). The load microcode command format is shown below:
Figure 21. Load Microcode Command Format
Offset
Command Word Bits 31:16
Status Word Bits 15:0
00h
EL
S
I
0000000000
101
C
X
OK XXXXXXXXXXXXX
04h
Link Address (A31:A0)
08h
First Microcode Dword
260h
64th Microcode Dword