[vortex] Re: 3c566B

Andrew Morton andrewm@uow.edu.au
Sat, 9 Sep 2000 15:57:13 +1100 (EST)


Louis,

Florian Lohoff has applied the 3c566B patch to Donald's
latest development driver.  It looks to me that he has
ported the patch correctly, but it's not reading the
EEPROM correctly.

The "Too much work in interrupt" report is a bit of a
surprise.  Did you ever see this happen?   Or is it
perhaps something which has changed in the development
driver @scyld?

Forwarded message>>>


> Could you please send me the patch you ended up with?

Yep - Its basically the patch from the mailinglist although
i couldnt apply that one to the devel driver - All sections
got rejected ...

--- 3c59x.c-original-development-cesdis	Fri Sep  8 19:02:33 2000
+++ 3c59x.c	Fri Sep  8 19:08:37 2000
@@ -225,7 +225,7 @@
 #define CYCLONE_SIZE 0x80
 enum { IS_VORTEX=1, IS_BOOMERANG=2, IS_CYCLONE=4, IS_TORNADO=8,
 	   HAS_PWR_CTRL=0x10, HAS_MII=0x20, HAS_NWAY=0x40, HAS_CB_FNS=0x80,
-	   EEPROM_8BIT=0x200, INVERT_LED_PWR=0x400, MII_XCVR_PWR=0x4000, };
+	   EEPROM_8BIT=0x200, INVERT_LED_PWR=0x400, EEPROM_OFFSET=0x800, MII_XCVR_PWR=0x4000, };
 static void *vortex_probe1(struct pci_dev *pdev, void *init_dev,
 						   long ioaddr, int irq, int chip_idx, int find_cnt);
 static int pwr_event(void *dev_instance, int event);
@@ -280,6 +280,8 @@
 	 PCI_IOTYPE, CYCLONE_SIZE, IS_TORNADO|HAS_NWAY|EEPROM_8BIT, },
 	{"3c556 series Laptop Tornado",{ 0x605510B7, 0xf0ffffff },
 	 PCI_IOTYPE, CYCLONE_SIZE, IS_TORNADO|HAS_NWAY|EEPROM_8BIT, },
+	{"3c556B series Laptop Tornado",{ 0x605610B7, 0xf0ffffff },
+	 PCI_IOTYPE, CYCLONE_SIZE, IS_TORNADO|HAS_NWAY|EEPROM_OFFSET|EEPROM_8BIT, },
 	{"3c575 Boomerang CardBus",	{ 0x505710B7, 0xffffffff },
 	 PCI_IOTYPE,BOOMERANG_SIZE, IS_BOOMERANG|HAS_MII|EEPROM_8BIT, },
 	{"3CCFE575BT Cyclone CardBus",{ 0x515710B7, 0xffffffff },
@@ -802,7 +804,7 @@
 	EL3WINDOW(0);
 	for (i = 0; i < 0x40; i++) {
 		int timer;
-		outw((drv_flags & EEPROM_8BIT ? 0x230 : EEPROM_Read) + i,
+		outw((drv_flags & EEPROM_8BIT ? 0x230 : (drv_flags & EEPROM_OFFSET ? EEPROM_Read + 0x30 : EEPROM_Read)) + i,
 			  ioaddr + Wn0EepromCmd);
 		/* The read may take up to 162 usec, timed with PCI cycles. */
 		for (timer = 162*5; timer >= 0; timer--) {



00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
	Flags: bus master, medium devsel, latency 64
	Memory at f8000000 (32-bit, prefetchable)
	Capabilities: [a0] AGP version 1.0
00: 86 80 90 71 06 01 10 22 03 00 00 06 00 40 00 00
10: 08 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00

00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, 66Mhz, medium devsel, latency 128
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
	Memory behind bridge: f0000000-f7ffffff
00: 86 80 91 71 1f 00 20 02 03 00 04 06 00 80 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 40 f0 00 a0 22
20: 00 f0 f0 f7 f0 ff 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8c 00

00:02.0 CardBus bridge: Texas Instruments PCI1450 (rev 03)
	Subsystem: IBM: Unknown device 0130
	Flags: bus master, medium devsel, latency 64
	Memory at 50000000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=02, subordinate=04, sec-latency=176
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 0001
00: 4c 10 1b ac 07 00 10 02 03 00 07 06 08 40 82 00
10: 00 00 00 50 a0 00 00 02 00 02 04 b0 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 01 c0 07
40: 14 10 30 01 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:02.1 CardBus bridge: Texas Instruments PCI1450 (rev 03)
	Subsystem: IBM: Unknown device 0130
	Flags: bus master, medium devsel, latency 64
	Memory at 50100000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=05, subordinate=07, sec-latency=176
	I/O window 0: 00000000-00000003
	I/O window 1: 00000000-00000003
	16-bit legacy interface ports at 0001
00: 4c 10 1b ac 07 00 10 02 03 00 07 06 08 40 82 00
10: 00 00 10 50 a0 00 00 02 00 05 07 b0 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 02 c0 07
40: 14 10 30 01 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:03.0 Ethernet controller: 3Com Corporation: Unknown device 6056 (rev 20)
	Subsystem: 3Com Corporation: Unknown device 6356
	Flags: bus master, medium devsel, latency 32, IRQ 11
	I/O ports at 1800
	[virtual] Memory at e8101400 (32-bit, non-prefetchable) [disabled]
	[virtual] Memory at e8101000 (32-bit, non-prefetchable) [disabled]
	Capabilities: [50] Power Management version 2
00: b7 10 56 60 05 00 10 02 20 00 00 02 00 20 80 00
10: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 56 63
30: 00 00 00 00 50 00 00 00 00 00 00 00 00 01 0a 0a

00:03.1 Communication controller: 3Com Corporation: Unknown device 1007 (rev 20)
	Subsystem: 3Com Corporation: Unknown device 6159
	Flags: medium devsel, IRQ 11
	I/O ports at 2000
	Memory at e8101c00 (32-bit, non-prefetchable)
	Memory at e8101800 (32-bit, non-prefetchable)
	Capabilities: [50] Power Management version 2
00: b7 10 07 10 13 00 10 02 20 00 80 07 08 50 00 00
10: 01 20 00 00 00 1c 10 e8 00 18 10 e8 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b7 10 59 61
30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 0a 0a

00:05.0 Multimedia audio controller: Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] (rev 01)
	Subsystem: IBM: Unknown device 0153
	Flags: bus master, slow devsel, latency 64, IRQ 11
	Memory at e8100000 (32-bit, non-prefetchable)
	Memory at e8000000 (32-bit, non-prefetchable)
	Capabilities: [40] Power Management version 2
00: 13 10 03 60 06 00 10 04 01 00 01 04 00 40 00 00
10: 00 00 10 e8 00 00 00 e8 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 53 01
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 04 18

00:07.0 Bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
	Flags: bus master, medium devsel, latency 0
00: 86 80 10 71 0f 00 80 02 02 00 80 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master])
	Flags: bus master, medium devsel, latency 64
	I/O ports at 1c00
00: 86 80 11 71 05 00 80 02 01 80 01 01 00 40 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
	Flags: medium devsel, IRQ 11
	I/O ports at 1c20
00: 86 80 12 71 01 00 80 02 01 00 03 0c 00 40 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 21 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 04 00 00

00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 03)
	Flags: medium devsel
00: 86 80 13 71 03 00 80 02 03 00 80 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:00.0 VGA compatible controller: S3 Inc. 86C270-294 Savage/MX-/IX (rev 11) (prog-if 00 [VGA])
	Subsystem: IBM: Unknown device 017f
	Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 11
	Memory at f0000000 (32-bit, non-prefetchable)
	Capabilities: [dc] Power Management version 1
	Capabilities: [80] AGP version 1.0
00: 33 53 12 8c 07 00 30 02 11 00 00 03 08 40 00 00
10: 00 00 00 f0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 7f 01
30: 00 00 00 00 dc 00 00 00 00 00 00 00 0b 01 04 ff


These were my tries ...

eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.
eth1: Too much work in interrupt, status e011.

This is with the modified driver ...

3c59x.c:v0.99Ra 8/7/2000 Donald Becker, becker@scyld.com
  http://www.scyld.com/network/vortex.html
3c59x.c:v0.99Ra 8/7/2000 Donald Becker, becker@scyld.com
  http://www.scyld.com/network/vortex.html
eth1: Overriding PCI latency timer (CFLT) setting of 0, new value is 32.
eth1: 3Com 3c556B Laptop Tornado at 0x1800,  ff:ff:ff:ff:ff:ff, IRQ 11
  1024K word-wide RAM 3:5 Rx:Tx split, autoselect/<invalid transceiver> interface.
  Enabling bus-master transmits and early receives.
3c59x.c:v0.99Ra 8/7/2000 Donald Becker, becker@scyld.com
  http://www.scyld.com/network/vortex.html
eth1: 3Com 3c556B series Laptop Tornado at 0x1800,  ff:ff:ff:ff:ff:ff, IRQ 11
  1024K word-wide RAM 3:5 Rx:Tx split, autoselect/<invalid transceiver> interface.
  Enabling bus-master transmits and early receives.
3c59x.c:v0.99Ra 8/7/2000 Donald Becker, becker@scyld.com
  http://www.scyld.com/network/vortex.html
eth1: 3Com 3c556B series Laptop Tornado at 0x1800,  ff:ff:ff:ff:ff:ff, IRQ 11
  1024K word-wide RAM 3:5 Rx:Tx split, autoselect/<invalid transceiver> interface.
  Enabling bus-master transmits and early receives.

Flo