diff options
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r-- | include/asm-sparc64/iommu.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/asm-sparc64/iommu.h b/include/asm-sparc64/iommu.h index d8d98f8f747f..e199594a1e9b 100644 --- a/include/asm-sparc64/iommu.h +++ b/include/asm-sparc64/iommu.h | |||
@@ -24,4 +24,33 @@ struct iommu_arena { | |||
24 | unsigned int limit; | 24 | unsigned int limit; |
25 | }; | 25 | }; |
26 | 26 | ||
27 | struct iommu { | ||
28 | spinlock_t lock; | ||
29 | struct iommu_arena arena; | ||
30 | iopte_t *page_table; | ||
31 | u32 page_table_map_base; | ||
32 | unsigned long iommu_control; | ||
33 | unsigned long iommu_tsbbase; | ||
34 | unsigned long iommu_flush; | ||
35 | unsigned long iommu_ctxflush; | ||
36 | unsigned long write_complete_reg; | ||
37 | unsigned long dummy_page; | ||
38 | unsigned long dummy_page_pa; | ||
39 | unsigned long ctx_lowest_free; | ||
40 | DECLARE_BITMAP(ctx_bitmap, IOMMU_NUM_CTXS); | ||
41 | u32 dma_addr_mask; | ||
42 | }; | ||
43 | |||
44 | struct strbuf { | ||
45 | int strbuf_enabled; | ||
46 | unsigned long strbuf_control; | ||
47 | unsigned long strbuf_pflush; | ||
48 | unsigned long strbuf_fsync; | ||
49 | unsigned long strbuf_ctxflush; | ||
50 | unsigned long strbuf_ctxmatch_base; | ||
51 | unsigned long strbuf_flushflag_pa; | ||
52 | volatile unsigned long *strbuf_flushflag; | ||
53 | volatile unsigned long __flushflag_buf[(64+(64-1)) / sizeof(long)]; | ||
54 | }; | ||
55 | |||
27 | #endif /* !(_SPARC_IOMMU_H) */ | 56 | #endif /* !(_SPARC_IOMMU_H) */ |