On Thu, Apr 30, 2009 at 2:01 PM, Joseph Smith joe@settoplinux.org wrote:
Right the INT lines A,B,C, and D are hard wired. But you can asign any PIRQ to a function and any available IRQ to the PIRQ these are software controlled.
The 3d register lists what functions can assert what interrupt lines. what is the value of 3d for each of these four device functions? You can use setpci to see. setpci -s bus:dev.fn 3d.b
Hmm. That is another way of looking at it. The doc does say the "device" acts as a interrupt router (which is INTA in this case). So the other three are directly connected to it? Like the attached image?
I doubt that is exactly it but I think it's closer to my internal picture. What the 3d register will tell you is what INT is wired to each function. So, e.g., I would guest that 3d is like this:
USB1 1 USB2 2 USB3 3 EHCI 4
0 would mean no interrupt line is wired.
The picture in my mind is that there is a very simple interrupt controller on the device that connections the four USB functions to the external INT lines.
ron
ron