iommu: Make IOVA domain page size explicit
authorRobin Murphy <robin.murphy@arm.com>
Mon, 12 Jan 2015 17:51:16 +0000 (17:51 +0000)
committerJoerg Roedel <jroedel@suse.de>
Mon, 19 Jan 2015 13:55:22 +0000 (14:55 +0100)
commit0fb5fe874c42942e16c450ae05da453e13a1c09e
tree3103ddfe5741c14f46acb7048c81fe2e7b1d0621
parent1b72250076dde4276acecf3a7da722b185703e78
iommu: Make IOVA domain page size explicit

Systems may contain heterogeneous IOMMUs supporting differing minimum
page sizes, which may also not be common with the CPU page size.
Thus it is practical to have an explicit notion of IOVA granularity
to simplify handling of mapping and allocation constraints.

As an initial step, move the IOVA page granularity from an implicit
compile-time constant to a per-domain property so we can make use
of it in IOVA domain context at runtime. To keep the abstraction tidy,
extend the little API of inline iova_* helpers to parallel some of the
equivalent PAGE_* macros.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c
drivers/iommu/iova.c
include/linux/iova.h