/*
* IOMAP_MAX_ORDER defines the largest contiguous block
- * of dma (tce) space we can get. IOMAP_MAX_ORDER = 10
- * allows up to 2**9 pages (512 * 4096) = 2 MB
+ * of dma (tce) space we can get. IOMAP_MAX_ORDER = 13
+ * allows up to 2**12 pages (4096 * 4096) = 16 MB
*/
-#define IOMAP_MAX_ORDER 10
+#define IOMAP_MAX_ORDER 13
/*
* Tces come in two formats, one for the virtual bus and a different
struct scatterlist;
-#ifdef CONFIG_PPC_PSERIES
+#ifdef CONFIG_PPC_MULTIPLATFORM
+
/* Walks all buses and creates iommu tables */
extern void iommu_setup_pSeries(void);
-extern void iommu_setup_pmac(void);
+extern void iommu_setup_u3(void);
/* Creates table for an individual device node */
extern void iommu_devnode_init(struct device_node *dn);
-#endif /* CONFIG_PPC_PSERIES */
+
+#endif /* CONFIG_PPC_MULTIPLATFORM */
#ifdef CONFIG_PPC_ISERIES
+
/* Walks all buses and creates iommu tables */
extern void iommu_setup_iSeries(void);
struct iSeries_Device_Node;
/* Creates table for an individual device node */
extern void iommu_devnode_init(struct iSeries_Device_Node *dn);
-#endif /* CONFIG_PPC_ISERIES */
+#endif /* CONFIG_PPC_ISERIES */
/* Initializes an iommu_table based in values set in the passed-in
* structure
extern void pci_iommu_init(void);
extern void pci_dma_init_direct(void);
+extern void alloc_u3_dart_table(void);
+
extern int ppc64_iommu_off;
#endif /* _ASM_IOMMU_H */