iommu-helper.h revision a66022c457755b5eef61e30866114679c95e1f54
1#ifndef _LINUX_IOMMU_HELPER_H 2#define _LINUX_IOMMU_HELPER_H 3 4static inline unsigned long iommu_device_max_index(unsigned long size, 5 unsigned long offset, 6 u64 dma_mask) 7{ 8 if (size + offset > dma_mask) 9 return dma_mask - offset + 1; 10 else 11 return size; 12} 13 14extern int iommu_is_span_boundary(unsigned int index, unsigned int nr, 15 unsigned long shift, 16 unsigned long boundary_size); 17extern unsigned long iommu_area_alloc(unsigned long *map, unsigned long size, 18 unsigned long start, unsigned int nr, 19 unsigned long shift, 20 unsigned long boundary_size, 21 unsigned long align_mask); 22 23extern unsigned long iommu_num_pages(unsigned long addr, unsigned long len, 24 unsigned long io_page_size); 25 26#endif 27