Intel 82557 Benutzerhandbuch

Seite von 175
108
Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual  
 
 
Host Software Interface
6.5.4
Receive Unit Control
The receive unit (RU) is the logical unit that receives frames and stores them in memory. It uses 
free buffers and descriptors prepared by the CPU. This section describes how the CPU controls 
frame reception (starts, stops, suspends, and resumes the RU). Reception can also be halted due to 
a no resource condition.
The RU is modeled as a logical machine that takes one of the following states at any given time. 
Software can determine the current RU status by reading the SCB status word in the CSR (bits 5:2).
Idle (0000).  The RU has no memory resources and is discarding incoming frames. This is the 
initial RU state after reset.
No Resources Due to No More RFDs (0010).  The RU has no memory resources due to a 
lack of RFDs and is discarding incoming frames. This state differs from the idle state in that 
the RU accumulates statistics on the number of frames it has to discard. The 8255x enters this 
state after it processes an RFD that its EL bit set.
Suspended (0001).  The RU discards all incoming frames even though free memory resources 
exist to store incoming frames. The 8255x enters this state after it processes an RFD with its S 
bit set.
Ready (0100).  The RU has free memory resources and is ready to store incoming frames.
Table 56.  RU Control Commands: Actions at Acceptance Time
RU Start
RU Resume
RU Abort
Present 
State
Next 
State
Action
Next 
State
Action
Next 
State
Action
RU No
t Act
ively Re
ceiving
Idle
Ready
Set Up 
RFD
Idle
None
Idle
None
No 
Resources 
due to no 
RFDs
Ready
Set Up 
RFD
Prohibited
N/A
Idle None
Suspended
Ready
Set Up 
RFD
Ready
Set Up 
RFD
Idle None
Ready
Prohibited
N/A
Prohibited
N/A
Idle 
Start 
Discard - 
RNR 
Interrupt
RU A
ctively
 Receivin
g
Idle
Idle 
Request 
Start
Idle
None
Idle
None
No 
Resources 
due to No 
RFDs
No 
Resource 
due to No 
RFDs
Request 
Start
Prohibited
N/A
Idle
None
Suspended
Suspend
Request 
Start
Suspend
Request 
Resume
Idle
None
Ready
Prohibited
N/A
Prohibited
N/A
 Idle
Abort 
DMA - 
Start 
Discard - 
RNR 
Interrupt