Hi All,<br><br>I am working on porting Linux <a href="http://2.6.16.60">2.6.16.60</a> on PowerPC based board with Tsi109 system controller. <br>Our platform support is defined in arch/ppc<br>Here is our hardware interrupt routing<br>
Tsi109 PCI BUS <br> (BUS 0)<br> |<br> |<br> V<br> VME controller (BUS 0 IDSEL 16) IRQ 36 <br> PMC Slot (BUS 0 IDSEL 17) IRQ 37<br> PCI-PCI Bridge (BUS 0 IDSEL 18) No IRQ required<br>
|<br> (BUS 1)|<br> |-------> PMC Slot (BUS 1 IDSEL 19) IRQ 38<br> USB Contr(BUS 1 IDSEL 20) IRQ 39 <br><br>I faced a problem at map_irq. Due to pci_swizzle, PCI probe is always returning p2p bridge IDSEL for all device on BUS 1.<br>
In our case, we routed independent interrupt lines for the devices on BUS 1.<br><br>I made a quick workaround by assigning IRQ's based on dev->devfn. <br><br>Is there any standard way of assigning independent interrupts for the devices connected below P2P bridge?<br>
<br>I am facing problem with on-board USB controller. Even though /proc/interrupts shows correct assignment. USB is always returning the following message<br><br>usb 2-1: new low speed USB device using ohci_hcd and address 2<br>
ohci_hcd 0000:01:04.0: Unlink after no-IRQ? Controller is probably using the wrong IRQ<br><br>If the interrupts are not assigned properly, how the above message pop-up soon after inserting USB device?<br><br>Here is the proc entry<br>
# cat /proc/interrupts<br> CPU0<br> 12: 105 tsi108_pic Level serial<br> 38: 4270 tsi108_PCI_int Level eth0<br> 39: 1 tsi108_PCI_int Level ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd :usb3<br>
<br>Whereas USB PMC on BUS 0 works fine.<br><br>I request you to provide some pointers on the same.<br><br>Thanks a lot,<br>Suresh<br><br><br>