OpenCloudOS-Kernel/arch/powerpc/sysdev
Olof Johansson 38958dd911 [POWERPC] pasemi: Implement MSI support
Implement MSI support for PA Semi PWRficient platforms. MSI is done
through a special range of sources on the openpic controller, and they're
unfortunately breaking the usual concepts of how sources are programmed:

* The source is calculated as 512 + the value written into the MSI
  register
* The vector for this source is added to the source and reported
  through IACK

This means that for simplicity, it makes much more sense to just set the
vector to 0 for the source, since that's really the vector we expect to
see from IACK.

Also, the affinity/priority registers will affect 16 sources at a
time. To avoid most (simple) users from being limited by this, allocate
16 sources per device but use only one. This means that there's a total
of 32 sources.

If we get usage scenarions that need more sources, the allocator should
probably be revised to take an alignment argument and size, not just do
natural alignment.

Finally, since I'm already touching the MPIC names on pasemi, rename
the base one from the somewhat odd " PAS-OPIC  " to "PASEMI-OPIC".

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-12-20 16:15:23 +11:00
..
bestcomm [POWERPC] bestcomm: Restrict bus prefetch bugfix to original mpc5200 silicon. 2007-10-21 10:52:02 -06:00
qe_lib [POWERPC] qe: add function qe_clock_source() 2007-12-13 22:59:27 -06:00
Makefile [POWERPC] pasemi: Implement MSI support 2007-12-20 16:15:23 +11:00
axonram.c [POWERPC] Clean out asm/of_{platform, device}.h from sysdev/ 2007-12-06 14:44:30 +11:00
commproc.c [POWERPC] Move CPM command handling into the cpm drivers 2007-12-13 22:47:16 -06:00
commproc.h [POWERPC] 8xx: Infrastructure code cleanup. 2007-10-03 20:36:35 -05:00
cpm2_common.c [POWERPC] Move CPM command handling into the cpm drivers 2007-12-13 22:47:16 -06:00
cpm2_pic.c [POWERPC] cpm2: Infrastructure code cleanup. 2007-10-04 11:02:04 -05:00
cpm2_pic.h [POWERPC] cpm2: CPM2 interrupt controller fix 2007-02-07 14:03:20 +11:00
cpm_common.c [POWERPC] cpm: Fix a couple minor issues in cpm_common.c. 2007-11-09 03:47:44 -06:00
dart.h [POWERPC] Use 4kB iommu pages even on 64kB-page systems 2006-11-01 14:52:48 +11:00
dart_iommu.c [POWERPC] Fix section mismatch in dart_iommu.c 2007-08-17 11:02:06 +10:00
dcr-low.S [POWERPC] Generic DCR infrastructure 2006-12-04 16:08:25 +11:00
dcr.c Use dcr_host_t.base in dcr_unmap() 2007-10-15 14:29:49 -04:00
fsl_pci.c [POWERPC] Add missing spaces in printk formats 2007-12-03 13:56:27 +11:00
fsl_pci.h [POWERPC] Fixup resources on pci_bus for PCIe PHB when no device is connected 2007-07-23 10:27:08 -05:00
fsl_soc.c [POWERPC] FSL: enet device tree cleanups 2007-12-12 01:50:45 -06:00
fsl_soc.h [POWERPC] 85xx/86xx: refactor RSTCR reset code 2007-10-08 08:38:47 -05:00
grackle.c [POWERPC] Make endianess of cfg_addr for indirect pci ops runtime 2007-07-23 22:29:09 -05:00
i8259.c [POWERPC] i8259: Add disable method 2007-11-08 14:15:29 +11:00
indirect_pci.c [POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci 2007-10-12 14:05:17 +10:00
ipic.c [POWERPC] ipic: ack only for edge interrupts 2007-12-12 01:53:07 -06:00
ipic.h [POWERPC] ipic: ack only for edge interrupts 2007-12-12 01:53:07 -06:00
micropatch.c [POWERPC] 8xx: powerpc port of core CPM PIC 2007-02-07 14:03:17 +11:00
mmio_nvram.c [POWERPC] Fix cell's mmio nvram to properly parse device tree 2007-01-22 21:27:35 +11:00
mpc8xx_pic.c [POWERPC] 8xx: Infrastructure code cleanup. 2007-10-03 20:36:35 -05:00
mpc8xx_pic.h [POWERPC] 8xx: mpc885ads pcmcia support 2007-07-10 00:33:51 -05:00
mpic.c [POWERPC] pasemi: Implement MSI support 2007-12-20 16:15:23 +11:00
mpic.h [POWERPC] pasemi: Implement MSI support 2007-12-20 16:15:23 +11:00
mpic_msi.c [POWERPC] Fix section mismatch in PCI code 2007-09-19 15:25:34 +10:00
mpic_pasemi_msi.c [POWERPC] pasemi: Implement MSI support 2007-12-20 16:15:23 +11:00
mpic_u3msi.c [POWERPC] Inline u3msi_compose_msi_msg() 2007-10-03 09:11:42 +10:00
mv64x60.h [POWERPC] Add Marvell mv64x60 udbg putc/getc functions 2007-09-22 14:49:21 +10:00
mv64x60_dev.c [WATCHDOG] mv64x60_wdt: Add arch/powerpc platform support 2007-07-24 21:16:02 +00:00
mv64x60_pci.c [POWERPC] Fix mv643xx_pci sysfs .read and .write functions 2007-11-08 14:15:29 +11:00
mv64x60_pic.c [POWERPC] Provide a default irq_host match, which matches on an exact of_node 2007-09-14 01:33:20 +10:00
mv64x60_udbg.c [POWERPC] Add Marvell mv64x60 udbg putc/getc functions 2007-09-22 14:49:21 +10:00
pmi.c [POWERPC] Clean out asm/of_{platform, device}.h from sysdev/ 2007-12-06 14:44:30 +11:00
rtc_cmos_setup.c [POWERPC] Add interrupt resource for RTC CMOS driver 2007-08-17 13:18:58 -05:00
tsi108_dev.c [POWERPC] Fix problems with device tree representation of TSI-1xx bridges 2007-06-14 22:30:17 +10:00
tsi108_pci.c [POWERPC] Provide a default irq_host match, which matches on an exact of_node 2007-09-14 01:33:20 +10:00
uic.c [POWERPC] 4xx: UIC add mask_ack callback 2007-11-19 08:22:03 -06:00
xilinx_intc.c [POWERPC] Virtex: add xilinx interrupt controller driver 2007-10-03 07:23:14 -05:00