[LinuxBIOS] IRQ Routing

Arnd Hannemann arnd at arndnet.de
Sun Apr 22 12:23:10 CEST 2007


Hi,

I use Linuxbios with my VIA Epia MII-12000 board. I installed a dual pci
riser card in the one and only PCI slot.
Now the problem is: the bios only assigns an IRQ to PCI device number
0x13 an 0x14.
-> 0x14 is the first slot on the riser card
-> second slot on the riser card is configurable between 0x04 .. 0x11
(or something).
Obviously the device in the second slot on the riser card does not work,
regardless which DN# I configure, because it gets no IRQ assigned.

So I decided to configure the second slot to be 0x05 and change the BIOS
accordingly. Therefore I changed the following files:


src/mainboard/via/epia-m/irq_tables.c
> -               {0x00,(0x13<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},
> +               {0x00,(0x05<<3)|0x0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0x0deb8}}, 0x2, 0x0},

src/mainboard/via/epia-m/dsdt.asl
> -                               Package () {0x0013FFFF, 0x00, LNKA, 0x00}, // Riser slot LinkA 
> -                               Package () {0x0013FFFF, 0x01, LNKB, 0x00}, // Riser slot LinkB
> -                               Package () {0x0013FFFF, 0x02, LNKC, 0x00}, // Riser slot LinkC
> -                               Package () {0x0013FFFF, 0x03, LNKD, 0x00}, // Riser slot LinkD
> +                               Package () {0x0005FFFF, 0x00, LNKA, 0x00}, // Riser slot LinkA 
> +                               Package () {0x0005FFFF, 0x01, LNKB, 0x00}, // Riser slot LinkB
> +                               Package () {0x0005FFFF, 0x02, LNKC, 0x00}, // Riser slot LinkC
> +                               Package () {0x0005FFFF, 0x03, LNKD, 0x00}, // Riser slot LinkD

(recompiled to dsdt.c)

src/southbridge/via/epia-m/vt8235.c
> -       pci_assign_irqs(0, 0x13, pin_to_irq(riserPins));
> +       pci_assign_irqs(0, 0x05, pin_to_irq(riserPins));


But my device in the 2nd riser card slot still does not get am IRQ
assigned :-(
If I use get_pir with the changed bios to generate an irq_tables.c it
has still the old lines in it.

What am I doing wrong?

Best regards,
Arnd Hannemann






More information about the coreboot mailing list