summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pasemi/setup.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2007-02-04 16:36:55 -0600
committerPaul Mackerras <paulus@samba.org>2007-02-07 14:03:22 +1100
commit31c56d820e03a2fd47f81d6c826f92caf511f9ee (patch)
tree127b54489f2c45ce68fc4bc52044920250942b8f /arch/powerpc/platforms/pasemi/setup.c
parentf9fba5b72dbedc691dcb10ae666ec03f279b07f4 (diff)
[POWERPC] pasemi: iommu support
I/O TLB support for PA6T-1682M. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pasemi/setup.c')
-rw-r--r--arch/powerpc/platforms/pasemi/setup.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c
index 9096aac1c62..449cf1a0829 100644
--- a/arch/powerpc/platforms/pasemi/setup.c
+++ b/arch/powerpc/platforms/pasemi/setup.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 PA Semi, Inc
+ * Copyright (C) 2006-2007 PA Semi, Inc
*
* Authors: Kip Walker, PA Semi
* Olof Johansson, PA Semi
@@ -87,9 +87,6 @@ void __init pas_setup_arch(void)
/* Setup SMP callback */
smp_ops = &pas_smp_ops;
#endif
- /* no iommu yet */
- pci_dma_ops = &dma_direct_ops;
-
/* Lookup PCI hosts */
pas_pci_init();
@@ -207,6 +204,11 @@ static int pas_machine_check_handler(struct pt_regs *regs)
return !!(srr1 & 0x2);
}
+static void __init pas_init_early(void)
+{
+ iommu_init_early_pasemi();
+}
+
/*
* Called very early, MMU is off, device-tree isn't unflattened
@@ -220,6 +222,8 @@ static int __init pas_probe(void)
hpte_init_native();
+ alloc_iobmap_l2();
+
return 1;
}
@@ -227,6 +231,7 @@ define_machine(pas) {
.name = "PA Semi PA6T-1682M",
.probe = pas_probe,
.setup_arch = pas_setup_arch,
+ .init_early = pas_init_early,
.init_IRQ = pas_init_IRQ,
.get_irq = mpic_get_irq,
.restart = pas_restart,