[tulip] Problem: Tx hung on a StrongARM arch

Donald Becker becker@scyld.com
Wed, 15 Nov 2000 14:13:04 -0500 (EST)


On Wed, 15 Nov 2000, Fernando Maior wrote:

> I am experiencing problems with my Netwinder 275 machine. It has a
> StrongARM processor and lots of other hardware in a little box. 
....
> eth1: Digital DS21143 Tulip rev 48 at 0xe4818000, 00:10:57:c0:09:2a, IRQ
> 22.
> eth1: Old style EEPROM with no media selection information.
> eth1: MII transceiver #1 config 3000 status 7809 advertising 01e1.
> eth1: Tx jung, 9 vx. 3.

The StrongARM isn't memory space coherent with PCI bus master accesses.
You normally don't see this problem, since only the 21143 (and perhaps the
IDE controller?) is a bus master.

The Tulip driver needs two trivial macro calls to flush the descriptor and
packet data from the processor cache to main memory for each transmit.
The alternative is putting the Tx and Rx descriptor lists in non-cached
memory, but you must still flush the packet data.

See the special Netwinder version of the Tulip driver for the macros.

> And, I got both pci-config and tulip-diag. I compiled them using the
> instructions inside the source code. Both are not running, giving up
> with the same message:
>  pci-config: iopl() invalid argument

The StrongARM library you are using does not support hardware diagnostics.

> 2) There is not a <linux/modversions.h> file on my file systems.
> 3) So I just touched <linux/modversions.h> in order to compile both
> tulip92m & pci-scan.

If the kernel is compiled with module versions, you should have a
modversions.h file.  An empty one isn't useful.

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