1
linux/arch/powerpc/platforms/pseries
Michael Ellerman 85f2bf9f60 [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>
2007-05-08 13:40:31 +10:00
..
eeh_cache.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
eeh_driver.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
eeh_event.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
eeh.c [POWERPC] Add powerpc PCI-E reset API implementation 2007-05-08 13:40:31 +10:00
firmware.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
hotplug-cpu.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
hvCall_inst.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
hvCall.S [POWERPC] Bypass hcall stats until cpu features have run 2007-03-22 15:01:43 +11:00
hvconsole.c [POWERPC] clean up pseries hcall interfaces 2006-08-01 16:19:15 +10:00
hvcserver.c
iommu.c [POWERPC] pseries: Handle null iommu dma-window property correctly 2007-05-02 20:04:29 +10:00
Kconfig [POWERPC] Split several platforms into their respective Kconfig file 2007-03-22 10:07:32 -05:00
kexec.c [POWERPC] Cleanup pseries kexec code 2007-02-14 11:50:03 +11:00
lpar.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
Makefile [POWERPC] RTAS MSI implementation 2007-05-08 13:40:31 +10:00
msi.c [POWERPC] RTAS MSI implementation 2007-05-08 13:40:31 +10:00
nvram.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
pci_dlpar.c [POWERPC] Export pcibios_remove_pci_devices 2007-05-08 11:54:19 +10:00
pci.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
plpar_wrappers.h [POWERPC] Avoid hypervisor statistics calculation in real mode 2007-03-22 15:01:43 +11:00
power.c remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
pseries.h [POWERPC] pseries: Enabling auto poweron after power is restored. 2007-02-17 10:22:50 +11:00
ras.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
reconfig.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
rtasd.c [POWERPC] Rename get_property to of_get_property: arch/powerpc 2007-04-13 03:55:19 +10:00
scanlog.c [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
setup.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
smp.c [POWERPC] Cleanup pseries smp initialisation code 2007-02-14 11:50:03 +11:00
xics.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
xics.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00