[POWERPC] RTAS MSI implementation
authorMichael Ellerman <michael@ellerman.id.au>
Tue, 8 May 2007 02:58:35 +0000 (12:58 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 8 May 2007 03:40:31 +0000 (13:40 +1000)
commit85f2bf9f60f55b6727ed310ebbaa2df7142326e5
tree32c8deb52c0fff95ae35d7d4f3670aab0bfd515c
parentdf87ef5508b40fc655b6c4771be31741d8ec1596
[POWERPC] RTAS MSI implementation

Implement MSI support via RTAS (RTAS = run-time firmware on pSeries
machines).  For now we assumes that if the required RTAS tokens for
MSI are present, then we want to use the RTAS MSI routines.

When RTAS is managing MSIs for us, it will/may enable MSI on devices that
support it by default. This is contrary to the Linux model where a device
is in LSI mode until the driver requests MSIs.

To remedy this we add a pci_irq_fixup call, which disables MSI if they've
been assigned by firmware and the device also supports LSI. Devices that
don't support LSI at all will be left as is, drivers are still expected
to call pci_enable_msi() before using the device.

At the moment there is no pci_irq_fixup on pSeries, so we can just set it
unconditionally. If other platforms use the RTAS MSI backend they'll need
to check that still holds.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/pseries/Makefile
arch/powerpc/platforms/pseries/msi.c [new file with mode: 0644]