|
@@ -79,3 +79,12 @@ void iommu_area_free(unsigned long *map, unsigned long start, unsigned int nr)
|
|
|
}
|
|
|
}
|
|
|
EXPORT_SYMBOL(iommu_area_free);
|
|
|
+
|
|
|
+unsigned long iommu_num_pages(unsigned long addr, unsigned long len,
|
|
|
+ unsigned long io_page_size)
|
|
|
+{
|
|
|
+ unsigned long size = (addr & (io_page_size - 1)) + len;
|
|
|
+
|
|
|
+ return DIV_ROUND_UP(size, io_page_size);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(iommu_num_pages);
|