]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-sparc64/iommu.h
lib/swiotlb.c: cleanups
[linux-2.6-omap-h63xx.git] / include / asm-sparc64 / iommu.h
index 0b1813f410454983c3936411ac87cf96a1c71c31..d7b9afcba08bf433c87d8569f0169d1eaec68343 100644 (file)
@@ -1,7 +1,6 @@
-/* $Id: iommu.h,v 1.10 2001/03/08 09:55:56 davem Exp $
- * iommu.h: Definitions for the sun5 IOMMU.
+/* iommu.h: Definitions for the sun5 IOMMU.
  *
- * Copyright (C) 1996, 1999 David S. Miller (davem@caip.rutgers.edu)
+ * Copyright (C) 1996, 1999, 2007 David S. Miller (davem@davemloft.net)
  */
 #ifndef _SPARC64_IOMMU_H
 #define _SPARC64_IOMMU_H
@@ -27,12 +26,14 @@ struct iommu_arena {
 struct iommu {
        spinlock_t              lock;
        struct iommu_arena      arena;
+       void                    (*flush_all)(struct iommu *);
        iopte_t                 *page_table;
        u32                     page_table_map_base;
        unsigned long           iommu_control;
        unsigned long           iommu_tsbbase;
        unsigned long           iommu_flush;
        unsigned long           iommu_flushinv;
+       unsigned long           iommu_tags;
        unsigned long           iommu_ctxflush;
        unsigned long           write_complete_reg;
        unsigned long           dummy_page;
@@ -54,4 +55,8 @@ struct strbuf {
        volatile unsigned long  __flushflag_buf[(64+(64-1)) / sizeof(long)];
 };
 
-#endif /* !(_SPARC_IOMMU_H) */
+extern int iommu_table_init(struct iommu *iommu, int tsbsize,
+                           u32 dma_offset, u32 dma_addr_mask,
+                           int numa_node);
+
+#endif /* !(_SPARC64_IOMMU_H) */