Date: Mon, 17 Nov 2008 11:37:19 -0800 From: "David Christensen" <davidch@broadcom.com> To: "Marius Strobl" <marius@alchemy.franken.de>, "freebsd-net@FreeBSD.org" <freebsd-net@FreeBSD.org> Subject: RE: kern/128833: [bge] Network packets corrupted when bge card is in 64-bit PCI slot Message-ID: <5D267A3F22FD854F8F48B3D2B523819339408D91A4@IRVEXCHCCR01.corp.ad.broadcom.com> In-Reply-To: <200811162150.mAGLo4UJ045453@freefall.freebsd.org> References: <200811162150.mAGLo4UJ045453@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Ok, thanks for testing anyway. > I still think that this isn't really a driver bug though but > you are hitting some hardware-related problem like f.e. a > silicon bug and the question is how to work around it. There is a documented errata for the 5701 A3 where a 64bit DMA read can be terminated early by the bridge and then completed=20 later as a 32bit access, causing corruption on the 5701. The=20 errata states this type of behavior is rare in bridges and that the workaround is to force 32bit operation (set bit 15 of register 0x6800). It's not clear whether this errata is occurring without seeing a but trace but it certainly sounds right. The only=20 question would be knowing "when" to force 32bit operation. Should it be done in all cases or only for this bridge? > Looking at the bge(4) versions of the other BSDs and the > corresponding Linux and OpenSolaris drivers I can't spot > a such a workaround apart from the already known PCI-X > issue, unfortunately. The only other thing that comes to > my mind is that you might suffer from sort of the opposite > of the problem worked around by ti_64bitslot_war() (the NICs > driven by ti(4) are the predecessors of those supported by > bge(4)). Given that this also involves the BIOS that could > then explain why you're see first person to hit this problem. > Could you please instrument bge(4) to print the content > of the BGE_PCI_PCISTATE register and report back which > values it's initialized to depending on which type of slot > the card is plugged into? Dave
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5D267A3F22FD854F8F48B3D2B523819339408D91A4>