[vortex] reproducable pci bus errors (905c-tx, target abort)
Donald Becker
becker@scyld.com
Tue, 14 Aug 2001 16:20:03 -0400 (EDT)
On Tue, 14 Aug 2001, Sven Golchert wrote:
> i've got trouble with a 3c905C-TX in a dataexperts exp8049 mobo,
> 486/66, equipped with two more NICs: one 905B-FX and one 509B
> (ISA). the box is running suse linux 7.0 (kernel 2.4.0),
> 3c59x.c:LK1.1.12 is inserted as module.
The 3c905c is PCI v2.1, and a pretty agressive bus master -- it has the
capability to transfer a full-sized received packet data in a single
burst if no other master is waiting.
Most 486 systems had flawed Pre-1.0 PCI bus master implementations. The
Limiting the PCI burst length to 8 words avoids
most problems, but perhaps not all.
> whenever i route traffic over the 3c905C-TX (eth1 in my
> configuration), it will break with a
> PCI bus error, bus status 40000020
PCI target abort when operating as a bus master.
Bad news.
It can only be cleared with a TotalReset/GlobalReset while leaving bit
0x100 clear.
My driver does a different reset than LK1.1.12.
You might give it a try.
http://www.scyld.com/network/vortex.html
ftp://ftp.scyld.com/pub/network/3c59x.c
Please send a report so we know if this version of the reset code works.
Even if this driver version recovers, this isn't a fix. A PCI bus error is
still a major, performance-impacting problem.
Something can help with finding a work-around for the '486 is the value
of Up/DnMaxBurst, which reports the maximum successful PCI burst length
for Tx and Rx (16 bits for each).
This register is at offset 0x78.
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993