[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)
commit861fe90656b8e20d750d73c57088dc52d316ce7b
tree3f7df274478242ecf9f4186637c9cc38f59b5b8a
parent4cad69174f385c183b2bcb369fb4304d8624ab96
[SPARC64]: SUN4U PCI-E controller support.

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