Date: Mon, 24 Nov 2008 22:40:04 GMT From: "David Christensen" <davidch@broadcom.com> To: freebsd-net@FreeBSD.org Subject: RE: kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot Message-ID: <200811242240.mAOMe4kr052672@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/128833; it has been noted by GNATS. From: "David Christensen" <davidch@broadcom.com> To: "Marius Strobl" <marius@alchemy.franken.de> Cc: "bug-followup@FreeBSD.org" <bug-followup@FreeBSD.org> Subject: RE: kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot Date: Mon, 24 Nov 2008 14:38:35 -0800 > > > How does the problem you describe relate to the > > > 5701 PCI-X issue, which we align the RX buffer differently > > > for as a workaround, would that problem also be avoided > > > by limiting 5701 to 32-bit operations? Or is the A3-errata > > > you described an entirely different issue and limited to 5701 > > > in a 64-bit non-PCI-X slot, or would 5701 in a PCI-X slot > > > even require both workarounds? > > > > Which PCI-X issue are you referring to? Can you point me to > > the line number on http://fxr.watson.org/fxr/source/dev/bge/if_bge.c? > > >=20 > I was refering to BGE_FLAG_RX_ALIGNBUG, the lines dealing with it > are 874-875, 933-934, 2698-2708 and 3112-3122. The Linux tg3 > driver does pretty much the same via rx_offset. It's a different problem. The RX_ALIGNBUG is described in the errata as follows: "Description: In PCI-X mode, on rare instances, the DMA write engine=20 can incorrectly DMA duplicate data to the host if the first word of=20 the data being transferred is to a non-zero-offset address (offset=20 from the 8-byte boundary). Workaround: Align buffers to zero offset in the driver." I suppose you could force PCI mode for this problem too though at the expense of possible reduced performance. Dave
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811242240.mAOMe4kr052672>