Someone more knowledgeable than I pointed that I got this wrong. Sorry.
On Thu, Apr 30, 2009 at 7:55 AM, ron minnich rminnich@gmail.com wrote:
A device itself has only one wire -- there is one physical wire for that chip or device. It is called the interrupt line.
A device can actually connect to up to all four wires. This is way more common than I realized -- I have not paid attention lately.
The device can be wired such that different functions on the device are wired to different physical interrupt lines that are then wired to the bus/irq router. example on the m57sli: [rminnich@amd64 ~]$ setpci -s 0:5.2 3d.b 03 [rminnich@amd64 ~]$ setpci -s 0:5.1 3d.b 02 [rminnich@amd64 ~]$ setpci -s 0:5.0 3d.b 01
But the spec I referred you to does not list functions in the PIRQ table, only devices. You would use the value of the 3d register to then map from the table to the actual line which these are wired to. You can find out what IRQ it got in 3c.b [rminnich@amd64 ~]$ setpci -s 0:5.2 3c.b 0f [rminnich@amd64 ~]$ setpci -s 0:5.1 3c.b 0b [rminnich@amd64 ~]$ setpci -s 0:5.0 3c.b 0a [rminnich@amd64 ~]$
Functions have interrupts, but the only interrupts listed in a PIRQ are for the device.
Sorry for sowing confusion.
ron