I'm having two problems with PCI interrupts as described in bamboo.dts. Here is are the properties in question:
/* Bamboo has all 4 IRQ pins tied together per slot */ interrupt-map-mask = <f800 0 0 0>; interrupt-map = < /* IDSEL 1 */ 0800 0 0 0 &UIC0 1c 8 /* IDSEL 2 */ 1000 0 0 0 &UIC0 1b 8 /* IDSEL 3 */ 1800 0 0 0 &UIC0 1a 8 /* IDSEL 4 */ 2000 0 0 0 &UIC0 19 8 >; First, the 440EP[1] and Bamboo[2] user manuals indicate that PCI IRQ 0-3 -> board IRQ 2-5 -> UIC IRQ 25-28. However, the device tree has that reversed, so PCI IRQ 0 appears as UIC IRQ 28 (0x1c). Second, the sensitivity seems to be wrong. All these interrupts have the sensitivity encoded as 8, which means "high to low edge" in the OpenPIC binding. Now, 440EP has a UIC, rather than an OpenPIC, but there is no UIC binding AFAICS. When I change the 8 to a 4 ("active high level"), I see the proper values in the UIC polarity register, and PCI interrupts start working in KVM. Is anybody using Bamboo PCI support right now? Does it actually work? [1] https://www.amcc.com/MyAMCC/retrieveDocument/PowerPC/440EP/PPC440EP_UM2000.pdf [2] Seems to have been deleted from the web. Thanks, AMCC. -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev