intel dual netwokcard problem on epia-m -- nearly fixed

Niki Waibel niki.waibel at newlogic.com
Fri Nov 28 06:10:01 CET 2003


okay -- i got the dual card working -- somehow:
===
$ diff -u freebios-20031024.orig/src/mainboard/via/epia-m/mainboard.c freebios-20031024/src/mainboard/via/epia-m/mainboard.c
--- freebios-20031024.orig/src/mainboard/via/epia-m/mainboard.c 2003-07-25 05:20:20.000000000 +0200
+++ freebios-20031024/src/mainboard/via/epia-m/mainboard.c      2003-11-28 11:02:37.948735048 +0100
@@ -8,8 +8,10 @@
 static const unsigned char usbIrqs[4] = { 11, 10, 12, 5 };
 static const unsigned char enetIrqs[4] = { 11, 5, 10, 12 };
 static const unsigned char slotIrqs[4] = { 10, 12, 5, 11 };
+static const unsigned char dualenetaIrq[4] = { 12, 5, 11, 10 };
+static const unsigned char dualenetbIrq[4] = { 10, 12, 5, 11 };
 static const unsigned char firewireIrqs[4] = {10, 12, 5, 11 };
-static const unsigned char vt8235Irqs[4] = { 5,10, 12, 11 };
+static const unsigned char vt8235Irqs[4] = { 5, 10, 12, 11 };
 
 
 /*
@@ -57,6 +59,12 @@
        // vt8235 slot
        printk_info("setting vt8235 slot\n");
        pci_assign_irqs(0, 0x11, vt8235Irqs);
+
+       // dual eth card
+       printk_info("setting pci slot - pci-pci bridge - dual eth card (a)\n");
+       pci_assign_irqs(2, 0x4, dualenetaIrq);
+       printk_info("setting pci slot - pci-pci bridge - dual eth card (b)\n");
+       pci_assign_irqs(2, 0x5, dualenetbIrq);
 }
 
 
===

jan: thanks a lot for the tip with the bridge!!!

it seems that i have to play a little bit more with the interrupts.
the e100.o code in linux tells me ``Disabling IRQ #10'' and/or
``Disabling IRQ #12'' (depending on the values in dualenetaIrq[4] and
dualenetbIrq[4]) when bringing up the nics. and then one or both of the
nics dont work...

niki



More information about the coreboot mailing list