On 04.05.2008 03:11, Peter Stuge wrote:
On Fri, May 02, 2008 at 09:46:41PM -0700, ron minnich wrote:
get the USB interrupts out of the PIR table. They are not really routed via the standard IRQ router anyway -- they are internal -- and don't need to share interrupt #s with the other devices that are actually routed via the interrupt routing hardware.
Are you sure? From the OS point of view they still need a 4-bit interrupt number, since they are supposed to be PCI devices. No?
Put simply, having the USB f.3,4,5 devices in the PIR table works, but is really a bit of a mistake.
USB is on the GLIU in 5536 and not on any external PCI bus.
But it still appears to be a PCI device, and it needs an interrupt.
but, short form: on the cs5536, USB interrupts should not be described in the PIR table, but via settings derived from dts. They should be initialized in cs5536 setup code, no in the PIR setup code. That will allow us to have non-shared interrupts on the various PCI slots on, e.g., alix1c, and allow broken drivers like hfcpci to work.
Yep. Is good.
Can we store the USB interrupts settings in a separate struct/table in irq_tables.h? That would allow us to keep all interrupt stuff together in one file and avoid the problems we had with v2 where settings were scattered all over the tree in lots of different files.
Regards, Carl-Daniel