Intel 82558 Switch User Manual


 
114 Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual
Host Software Interface
immediately. If the pause time (from the device) has expired, the controller starts monitoring
the FIFO again to determine if a new pause command should be sent.
The two modes, ReStop and ReStart, can be used together. The controller sends a pause command.
If the receive FIFO is empty, the device sends an XON command. If the time-out interval is
exceeded, it sends another pause command.
In the ReStop mode, after the 8255x (excluding the 82557) transmits a pause command, the device
may be required to extend the pause time by sending subsequent pause frames. The device is
required to send subsequent pause commands far enough in advance to insure that it reaches the
congester before its own timer expires. To achieve this, the device needs to attempt to transmit the
pause command more than 27 slot times before the timer expires. These 27 slot times account for
the time period required to transmit the pause command (1 slot time), the propagation delay (1 slot
time), the congester’s reaction time (1 slot time), and a possible delay in the transmission of the
pause command due to the transmission of a data frame (up to 24 slot times). To guarantee this time
delta, the device driver needs to set the FC delay configuration value with its least significant 5 bits
exceeding 27. The controller ignores these 5 bits in its internal counting. In order to guarantee that
the time delta is sufficient to prevent transmission from the congester, it is recommended to set the
least significant bits to 1Fh (31 decimal).
If the pre-configured value is less than 32, then:
In ReStop mode (or both modes active), the device sends pause commands continuously until
its receive FIFO is empty.
In ReStart mode, the device sends one pause command without any following XON
commands.
Two examples are presented below:
Example 3. Configured “FC Delay” (011Fh)
Send a pause command with 011Fh (287 decimal) slot time parameter.
Load counter with 100h (256 decimal) value.
ReStop Mode: After 256 slot times, if the FIFO is not empty, send another pause
command.
ReStart Mode: When the FIFO is empty (presumably before 256 slot times), send an XON
command.
Example 4. Configured “FC Delay” (0017h)
Send a PAUSE command with 17h (23 decimal) slot time parameter.
Do not load the counter.
ReStop Mode (not recommended): If the FIFO is not empty, send another pause command
immediately (this will saturate the link).
ReStart Mode: Nothing further should be done.
For convenience, flow control related configuration bits (Section 6.4.2.3, “Configure (010b)”
contains more detail) are described in the table below: