[SPARC64]: SUN4U PCI-E controller support.
authorDavid S. Miller <davem@sunset.davemloft.net>
Thu, 3 May 2007 00:31:36 +0000 (17:31 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 7 May 2007 05:44:06 +0000 (22:44 -0700)
Some minor refactoring in the generic code was necessary for
this:

1) This controller requires 8-byte access to the interrupt map
   and clear register.  They are 64-bits on all the other
   SBUS and PCI controllers anyways, so this was easy to cure.

2) The IMAP register has a different layout and some bits that we
   need to preserve, so use a read/modify/write when making
   changes to the IMAP register in generic code.

3) Flushing the entire IOMMU TLB is best done with a single write
   to a register on this PCI controller, add a iommu->iommu_flushinv
   for this.

Still lacks MSI support, that will come later.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/Makefile
arch/sparc64/kernel/irq.c
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/pci_fire.c [new file with mode: 0644]
arch/sparc64/kernel/pci_iommu.c
arch/sparc64/kernel/prom.c
include/asm-sparc64/iommu.h

index eff0c01..6bf6fb6 100644 (file)
@@ -17,7 +17,7 @@ obj-y         := process.o setup.o cpu.o idprom.o \
 obj-$(CONFIG_STACKTRACE) += stacktrace.o
 obj-$(CONFIG_PCI)       += ebus.o isa.o pci_common.o pci_iommu.o \
                            pci_psycho.o pci_sabre.o pci_schizo.o \
-                           pci_sun4v.o pci_sun4v_asm.o
+                           pci_sun4v.o pci_sun4v_asm.o pci_fire.o
 obj-$(CONFIG_SMP)       += smp.o trampoline.o
 obj-$(CONFIG_SPARC32_COMPAT) += sys32.o sys_sparc32.o signal32.o
 obj-$(CONFIG_BINFMT_ELF32) += binfmt_elf32.o
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge