summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2008-09-12 14:42:33 +0400
committerIngo Molnar <mingo@elte.hu>2008-09-14 18:42:36 +0400
commiteecfffc154ffbfe70686a9905c090b488778c28e (patch)
tree3bcbd7e67d198680fd16b217af2d78b59bba36c8
parent6e03f99803195e5aaf7f247db31b0d11857ccc35 (diff)
downloadlinux-eecfffc154ffbfe70686a9905c090b488778c28e.tar.xz
iommu: add iommu_device_max_index IOMMU helper function
This function helps IOMMUs to know the highest address that a device can access to. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--include/linux/iommu-helper.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/iommu-helper.h b/include/linux/iommu-helper.h
index c975caf75385..58f41107e4ae 100644
--- a/include/linux/iommu-helper.h
+++ b/include/linux/iommu-helper.h
@@ -1,3 +1,13 @@
+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);