Figure 26. conditions for switching to dma, 4 dma channel speed vs. missed frames, Cs8900a – Cirrus Logic CS8900A User Manual

Page 95

Advertising
background image

DS271F5

95

CS8900A

Crystal LAN™ Ethernet Controller

CIRRUS LOGIC PRODUCT DATASHEET

ered as normal. If there isn't, the CS8900A's
MAC engine compares the frame's Destina-
tion Address (DA) to the criteria programmed
into the DA filter. If the incoming DA fails the
DA filter, the frame is discarded. If the DA
passes the DA filter, the CS8900A automati-
cally switches to DMA mode and starts trans-
ferring the frame(s) currently being held in the
on-chip buffer into host memory. This frees up
buffer space for the incoming frame.

Figure 26 shows the steps the CS8900A goes
through in determining when to automatically
switch to DMA.

Whenever the CS8900A automatically enters
DMA, at least one complete frame is already
stored in the on-chip buffer. Because frames
are transferred to the host in the same order as
received (first in, first out), the beginning of the
received frame that triggered the switch to
DMA is not the first frame to be transferred. In-
stead, the oldest noncommitted frame in the
on-chip buffer is the first frame to use DMA.
When DMA begins, any pending RxEvent re-
ports in the Interrupt Status Queue are dis-
carded because the host cannot process
those events until the corresponding frames
have been completely DMAed.

Auto-Switch DMA works only on entire re-
ceived frames. The CS8900A does not use
Auto-Switch DMA to transfer partial frames.
Also, when a frame has been committed (see
Section 5.2.5 on page 85), the CS8900A will
not switch to DMA mode until the committed
frame has been transferred completely or
skipped.

After a complete frame has been moved to
host memory, the CS8900A updates the DMA
Start-of-Frame register (PacketPage base +
0126h), the DMA Frame Count register (Pack-
etPage base + 0128h), and the DMA Byte
Count register, then sets the RxDMAFrame bit

(Register C, BufEvent, bit 7). If RxDMAiE
(Register B, BufCFG, bit 7) is set, a corre-
sponding interrupt occurs.

5.4.4 DMA Channel Speed vs. Missed
Frames

When the CS8900A starts DMA, the entire old-
est, noncommitted frame must be placed in
host memory before on-chip buffer space will
be freed for the next incoming frame. If the old-
est frame is relatively large, and the next in-

All Frames

use DMA

Yes

Yes

No

No

Yes

No

No

Yes

Frame

Discarded

Frame Buffered

in On-chip RAM

Auto-Switch

DMA Disabled

Packet Received

Auto-Switch to DMA

Frame

Passed the

DA filter?

RxDMA only

Bit=1

More

Buffer Space

Available?

AutoRxDMA

Bit=1?

Figure 26. Conditions for Switching to DMA

Advertising