What, 1st-level tech support staff lacking knowledge? Surely you jest!
:> Seriously, though, I was kind of lucky - I got a guy who's into
computers and plays with a Linux box at school. He was at least
receptive to my description of the problem.
> He told me there's updated bios, somewhere. Did you try that?
Latest BIOS for my machine is 1.03 - didn't help.
> What exactly is wrong? You said PIR tables are broken, but with patch
> below, it seems to work. What's wrong?
Take a look at http://www.microsoft.com/hwdev/archive/BUSBIOS/pciirq.asp
for some background. Under linux, on an ALi chipset, the "link" numbers
are used as an offset into the PCI config space of the ISA bridge, where
the IRQ for that "link" is stored. On my machine, the link numbers are
0x01-0x03 (for everything but USB) and 0x59 (for USB). The value at the
offset for link 0x59 translates to IRQ 9. The PCI configuration space of
the USB controller indicates IRQ 9, as well. See pirq_ali_get() in
linux/arch/i386/kernel/pci-irq.c for details on how this works.
All the last patch does is match the IRQ being considered for the device
against the IRQ mask for that device in the PIR table. If it doesn't
match, the kernel assigns one that does match the mask.
To be clear: with the last patch, USB works, but not the maestro-3,
right?
The reason I keep asking you for the output of "lspci -vvvxxx" and
"dump_pirq" is so I can look at your PIR table and PCI config space and
try to determine if the same thing that happened to USB is happening to
your maestro. It's possible your maestro problem is completely
unrelated. If you're unwilling to provide that informataion for some
reason, just let me know and I'll quit asking.
-Cory
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/