Subject: CVS commit: src/sys/dev/pci
To: None <source-changes@netbsd.org>
From: Jonathan Stone <jonathan@netbsd.org>
List: source-changes
Date: 03/07/2003 20:57:54
Module Name: src
Committed By: jonathan
Date: Fri Mar 7 18:57:54 UTC 2003
Modified Files:
src/sys/dev/pci: if_bge.c if_bgereg.h
Log Message:
Commit workaround for hardware bug: 5701 chips running in PCI-X mode
require that the DMA receive buffers be aligned. The driver was
deliberately mis-aligning by 2 bytes, to force the layer-2/3
headers to 32-bit alignment.
Workaround: if chip is a 5701, and is in PCI-X mode, leave the DMA
buffers aligned. If the host CPU requires alignment, copy the buffer
after reception to force aligment.
Tested on an i386 in PCI-X bus, with __NO_STRICT_ALIGNMENT forced off.
Patch and comments reworked to minimize drift from
FreeBSD if_bge.c rev 1.14.
To generate a diff of this commit:
cvs rdiff -r1.36 -r1.37 src/sys/dev/pci/if_bge.c
cvs rdiff -r1.8 -r1.9 src/sys/dev/pci/if_bgereg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.