On Thu, Mar 26, 2015 at 01:43:03PM +0100, Joerg Roedel wrote: > Changes v1-v2: > > * Rebased to v4.0-rc5 > * Converted domain-types to a bit-field > > Hi, > > here is patch-set to replace the existing domain_init and > domain_destroy iommu-ops with the new domain_alloc and > domain_free callbacks > > The new callbacks move the allocation of iommu domains into > the iommu driver, allowing them to put a generic > iommu_domain struct into their own domain struct. This makes > domain handling in the drivers more cache efficient and > prepares the introduction of default domains in another > patch-set. > > While at it, this patch-set also introduces domain types. > These are internal to the iommu core code for now, there are > three of them: > > * DMA-API domains > * Identity mapped domains > * Domains unmanaged by the iommu-core, used for > iommu-api so that the users can create their own > mappings > > The patches have been compile tested for x86, ARM and PPC > and runtime tested on x86 (Intel VT-d and AMD IOMMU). > > Please review. > > Thanks, > > Joerg > > Joerg Roedel (15): > iommu: Introduce domain_alloc and domain_free iommu_ops > iommu: Introduce iommu domain types > iommu/amd: Make use of domain_alloc and domain_free > iommu/vt-d: Make use of domain_alloc and domain_free > iommu/omap: Make use of domain_alloc and domain_free > iommu/arm-smmu: Make use of domain_alloc and domain_free > iommu/exynos: Make use of domain_alloc and domain_free > iommu/tegra-smmu: Make use of domain_alloc and domain_free > iommu/tegra-gart: Make use of domain_alloc and domain_free > iommu/msm: Make use of domain_alloc and domain_free > iommu/shmobile: Make use of domain_alloc and domain_free > iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free > iommu/rockchip: Make use of domain_alloc and domain_free > iommu/fsl: Make use of domain_alloc and domain_free > iommu: Remove domain_init and domain_free iommu_ops > > drivers/iommu/amd_iommu.c | 84 +++++++++++++++++++++------------------ > drivers/iommu/amd_iommu_types.h | 7 ++-- > drivers/iommu/arm-smmu.c | 46 +++++++++++++--------- > drivers/iommu/exynos-iommu.c | 87 ++++++++++++++++++++++------------------- > drivers/iommu/fsl_pamu_domain.c | 60 +++++++++++++++------------- > drivers/iommu/fsl_pamu_domain.h | 2 +- > drivers/iommu/intel-iommu.c | 48 +++++++++++++---------- > drivers/iommu/iommu.c | 20 ++-------- > drivers/iommu/ipmmu-vmsa.c | 43 +++++++++++--------- > drivers/iommu/msm_iommu.c | 73 +++++++++++++++++----------------- > drivers/iommu/omap-iommu.c | 49 +++++++++++++---------- > drivers/iommu/rockchip-iommu.c | 40 +++++++++++-------- > drivers/iommu/shmobile-iommu.c | 40 +++++++++++-------- > drivers/iommu/tegra-gart.c | 67 +++++++++++++++++++++---------- > drivers/iommu/tegra-smmu.c | 41 ++++++++++--------- > include/linux/iommu.h | 17 ++++++-- > 16 files changed, 407 insertions(+), 317 deletions(-) The core and Tegra bits: Tested-by: Thierry Reding <treding@xxxxxxxxxx>
Attachment:
pgpX8x879a2KY.pgp
Description: PGP signature