Go to the documentation of this file.
13 #ifndef __MACH_IOMMU_H
14 #define __MACH_IOMMU_H
142 #ifdef CONFIG_IOMMU_API
156 #define OMAP_IOMMU_ERR_TLB_MISS (1 << 0)
157 #define OMAP_IOMMU_ERR_TRANS_FAULT (1 << 1)
158 #define OMAP_IOMMU_ERR_EMU_MISS (1 << 2)
159 #define OMAP_IOMMU_ERR_TBLWALK_FAULT (1 << 3)
160 #define OMAP_IOMMU_ERR_MULTIHIT_FAULT (1 << 4)
162 #if defined(CONFIG_ARCH_OMAP1)
163 #error "iommu for this processor not implemented yet"
172 #define iopgsz_max(bytes) \
173 (((bytes) >= SZ_16M) ? SZ_16M : \
174 ((bytes) >= SZ_1M) ? SZ_1M : \
175 ((bytes) >= SZ_64K) ? SZ_64K : \
176 ((bytes) >= SZ_4K) ? SZ_4K : 0)
178 #define bytes_to_iopgsz(bytes) \
179 (((bytes) == SZ_16M) ? MMU_CAM_PGSZ_16M : \
180 ((bytes) == SZ_1M) ? MMU_CAM_PGSZ_1M : \
181 ((bytes) == SZ_64K) ? MMU_CAM_PGSZ_64K : \
182 ((bytes) == SZ_4K) ? MMU_CAM_PGSZ_4K : -1)
184 #define iopgsz_to_bytes(iopgsz) \
185 (((iopgsz) == MMU_CAM_PGSZ_16M) ? SZ_16M : \
186 ((iopgsz) == MMU_CAM_PGSZ_1M) ? SZ_1M : \
187 ((iopgsz) == MMU_CAM_PGSZ_64K) ? SZ_64K : \
188 ((iopgsz) == MMU_CAM_PGSZ_4K) ? SZ_4K : 0)
190 #define iopgsz_ok(bytes) (bytes_to_iopgsz(bytes) >= 0)
214 int (*
fn)(
struct device *,
void *));