]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - include/linux/iommu-helper.h
netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()
[linux-2.6.git] / include / linux / iommu-helper.h
index 4dd4c04ff2f468a1fddbbeb47cbf7c69bea1ed1b..64d1b638745d63bc0ac7569427e583db3236a0cc 100644 (file)
@@ -1,7 +1,26 @@
+#ifndef _LINUX_IOMMU_HELPER_H
+#define _LINUX_IOMMU_HELPER_H
+
+static inline unsigned long iommu_device_max_index(unsigned long size,
+                                                  unsigned long offset,
+                                                  u64 dma_mask)
+{
+       if (size + offset > dma_mask)
+               return dma_mask - offset + 1;
+       else
+               return size;
+}
+
+extern int iommu_is_span_boundary(unsigned int index, unsigned int nr,
+                                 unsigned long shift,
+                                 unsigned long boundary_size);
 extern unsigned long iommu_area_alloc(unsigned long *map, unsigned long size,
                                      unsigned long start, unsigned int nr,
                                      unsigned long shift,
                                      unsigned long boundary_size,
                                      unsigned long align_mask);
-extern void iommu_area_free(unsigned long *map, unsigned long start,
-                           unsigned int nr);
+
+extern unsigned long iommu_num_pages(unsigned long addr, unsigned long len,
+                                    unsigned long io_page_size);
+
+#endif