Subject: [PATCH 00/16 v2] iommu: Move domain allocation into drivers

From: [email-masked] (Thierry Reding)
Date: Fri, 27 Mar 2015 12:03:43 +0100

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 <[email-masked]>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150327/c24e3013/attachment-0001.sig>