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.