powerpc: Fix MSI support on U4 bridge PCIe slot
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 14 Dec 2009 15:31:13 +0000 (15:31 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 18 Dec 2009 03:55:43 +0000 (14:55 +1100)
commit7a96c6b22efbd84e195836e192a3ce478cd6e14c
treeadf9c9c5e1bb9d89d8536bf49c049beb5e9458d7
parentbb7f20b1c639606def3b91f4e4aca6daeee5d80a
powerpc: Fix MSI support on U4 bridge PCIe slot

On machines using the Apple U4 bridge (AKA IBM CPC945) PCIe interface such
as the latest generation G5 machines x16 slot or the x16 slot of the
PowerStation, MSIs are currently broken (and will oops when enabling).

This fixes the oops and implements proper support for those. Instead of
using the PCIe <-> HT bridge conversion, on such slots we need to use
a bunch of magic registers in the bridge as the MSI target, encoding
the interrupt number in the low bits of the address itself

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/sysdev/mpic_msi.c
arch/powerpc/sysdev/mpic_u3msi.c