freebsd-dev/sys/dev/bfe
Mike Silbersack 678d2a9a8c 1. Make sure that the TX and RX descriptor rings are 4096 byte aligned.
Also use BUS_DMA_ALLOCNOW to be on the safe side.

2.  Look for the Descriptor Error, and Descriptor Protocol Error flags from
    the card, and down the interface if we detect either.

#1 (along with fixes to busdma) makes sure that this card works in all
memory situations.  Prior to this change, it was just luck that 512 count
RX/TX lists were properly aligned.  Now we can use any size of RX/TX lists
and still have them properly aligned.

#2 ensures that we don't get into an endless interrupt storm if busdma fails
us.  Descriptor Protocol Error would occur if we misaligned the TX/RX rings,
and Descriptor Error would occur if we tried to give the card descriptors
or rings with addresses > 1G.  Trying to reinitialize the card isn't going
to fix these errors, hence we don't try.
2006-05-28 18:41:47 +00:00
..
if_bfe.c 1. Make sure that the TX and RX descriptor rings are 4096 byte aligned. 2006-05-28 18:41:47 +00:00
if_bfereg.h Revert if_bfereg.h rev 1.8; restore the RX and TX list sizes to 511. 2006-05-11 17:39:06 +00:00