Hi Ben,
Not sure about any of this below but its just a theory...
I suspect the MSI Interrupts are an issue with the PCIe X 16 bus with the GPU hanging off the U4 / CPC945 memory controller / PCIe Host / Hypertransport bridge controller.
The other devices, i.e. the Broadcom LAN controllers integrated within the Broadcom HT-2000 Hypertransport I/O controller seem to be ok when using MSI Interrupts.
When compiling the kernel and not selecting pci quirks, the linux kernel
reassigns the PCI resources, and also seems to uncover more of the
PCIe resources. I need to do more tests to try and understand whats happenning, but once quirks is disabled, the pci config space as configured by linux is quite different and doesn't match up with the open firmware device tree and pci config.... It actually seems to make more sense once pci quirks is disabled. Still doesnt work though.
Looking in the source, in the following file:
/arch/powerpc/platforms/powermac/pci.c
Line 1298, describes some workaround in playing around with the pci mapping.
When compiling the kernel and not selecting pci quirks, the linux kernel reassigns the PCI resources, and also shows the uncovers more of the PCIe resources.
Also, in the following file:
/arch/powerpc/platforms/powermac/setup.c
Line 644, describes some more of the OF dev tree --> Linux PCI dev tree matching.
What does this mean... dont know yet. But i doubt that there is an issue with the nouveau driver and msi support so dont apply the patch as there are other means to disable msi interrupts on nouveau.
I suspect the issue is msi support not working correctly because of the weird linux OF dev tree --> linux pci dev tree mapping along with some of the U4 / CPC945 resouces not being configured and workarounds being applied.
Ill ask on the linux ppc kernel dev list and see what responses i get over there as well.
Thanks Ben,
Regards,
Peter