BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
284
Section 9: Ethernet MACs
Document
1250_1125-UM100CB-R
In full-duplex mode the reception of a valid Pause Frame always suspends transmission at the end of the
packet currently being sent, transmission will be resumed after the requested pause time unless another flow
control packet is received. Pause frames will be detected if their destination address matches the address in
the
mac_ethernet_addr
register or the multicast address 01-80-C2-00-00-01 and the packet type matches
the MAC Control type (88_08) and he pause frame opcode (00_01) is found. Normally valid Pause frames will
be consumed by the MAC and not delivered to the DMA engine. However in some situations (for example
where a system requires that high priority traffic ignore the flow control) it is useful for the Pause Frame passed
to the software (which could disable the low priority DMA channel and keep the high priority one active). On
devices with the system revision indicating PERIPH_REV3 or greater the fwdpause_en bit can be set in the
mac_adfilter_cfg
register to cause the hardware to pass Pause frames to the DMA engine instead of acting
on them.
Hardware response to pause frames is normally done at the MAC level. This ensures that transmission stops
as soon as possible. On devices with the system revision PERIPH_REV3 or greater the flow control may be
performed in the DMA engines allowing each DMA channel to either obey or ignore the directive. Since there
may be packets queued in the transmit fifo (up to 1KB of data between the DMA engine and MAC) there is a
longer round-trip for the flow control loop in this case. The ch_base_fc_en bit must be set in the
mac_vlantag
register to enable channel based flow control. Once this bit has been set if the fc_pause_en bit is set in the
dma_config1
register for a channel then it will pause on flow control, otherwise it continues to transmit even
when flow control is requested. On devices with the system revision PERIPH_REV3 or greater when the
fwd_pause_en bit is clear and hardware is acting on the pause frame the current pause state can be read from
the tx_pause_on bit in the
mac_status
register, this bit will be set if the MAC is still in the pause interval set
by the previous pause frame.
There are a number of ways pause frames can be managed. The standard one is to have the MAC act on them
and consume them. Alternatively, the DMA engine can act on them and stop only one channel. Or they are
passed to software and the hardware will not respond to them. Note that in an entirely software controlled flow
control system the cpu_pause_en bits in the
dma_config1
register can be used to pause DMA channels, but
that the control loop will be much longer than having hardware act on the pause frames. A mix of software and
hardware may be best, for example if channel based flow control is being used the DMA engine can be
configured to stop both channels on receipt of a pause frame but software can poll the tx_pause_on bit and
may choose to release one of the channels.
Table 165: Pause Frame Options
fwdpause_en
ch_base
_fc_en
Ch 0
fc_pause_en
Ch 1
fc_pause_en
Description
0
0
x
x
Standard operation. The MAC will pause on receipt of a
pause frame and will consume the frame.
0
1
0
0
Ignore pause frames. The pause information is given to the
DMA engine but is applied to neither channel.
0
1
1
0
Pause only channel zero. The pause information is given to
the DMA engine but is only applied to channel 0.
0
1
0
1
Pause only channel one. The pause information is given to
the DMA engine but is only applied to channel 1.
0
1
1
1
Pause both channels. The pause information is given to the
DMA engine and is applied to both channels. The Standard
operation setting will achieve the same result with a shorter
flow control loop time, so this setting is only likely to be used
in systems that switch between it and selective channel
pause.
Содержание BCM1125
Страница 18: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xviii Document 1250_1125 UM100CB R ...
Страница 28: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xxviii Document 1250_1125 UM100CB R ...
Страница 515: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page vii Index Document 1250_1125 UM100CB R ...