Intel 82557 Benutzerhandbuch
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.
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.
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
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
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
RFD
Idle
None
Idle
None
No
Resources
due to no
RFDs
Resources
due to no
RFDs
Ready
Set Up
RFD
RFD
Prohibited
N/A
Idle None
Suspended
Ready
Set Up
RFD
RFD
Ready
Set Up
RFD
RFD
Idle None
Ready
Prohibited
N/A
Prohibited
N/A
Idle
Start
Discard -
RNR
Interrupt
Discard -
RNR
Interrupt
RU A
ctively
Receivin
g
Idle
Idle
Request
Start
Start
Idle
None
Idle
None
No
Resources
due to No
RFDs
Resources
due to No
RFDs
No
Resource
due to No
RFDs
Resource
due to No
RFDs
Request
Start
Start
Prohibited
N/A
Idle
None
Suspended
Suspend
Request
Start
Start
Suspend
Request
Resume
Resume
Idle
None
Ready
Prohibited
N/A
Prohibited
N/A
Idle
Abort
DMA -
Start
Discard -
RNR
Interrupt
DMA -
Start
Discard -
RNR
Interrupt