On 3/1/07, Jonathan Sturges jonathan@sprintmail.com wrote:
- Does the order the devices appear in LB's irq_tables.c matter?
no, it keys by dev:fn.
- Linux always finds the LB IRQ table, but doesn't seem able to map
IRQs to my devices. Aren't the PCI IRQ lines mappable to pretty much any available ISA IRQ line, or are these hardwired? Here's an example of what I mean, from one of my tests (kernel 2.6.20.1, with PCI debugging enabled):
it's possible the pirq table is wrong, this is a frequent problem.
You can boot under the standard os, standard bios, and just look at the 3c register e.g. setpci -x 2:1.0 3cb. to see what the irq is for each device, then set your PIRQ table to work. Or, what we sometimes do, just ignore the PIRQ table and set the IRQs in linuxbios.
Even though it "guesses" IRQ 10, which is what I set in the table, it doesn't work. Is that because I've got the NIC's INTA pointed at the wrong PCI IRQ in my irq_tables.c, or because of something else?
could be some other stupid thing also needs setting up -- sometimes a problem on embedded system.
Oh and before I forget, this is harder than a normal PC, due to the fact that the original BIOS in this winterm was for WinCE only. Thanks for any help with the IRQ mapping, I've not done this before and I'm not having an easy time with it.
it's either hard or harder. You're doing fine. After DRAM, IRQs are the hardest thing to get right, thanks to the bad design of PCI interrupts.
ron