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

2015-03-31 Thread Joerg Roedel
Hi Alex,

On Fri, Mar 27, 2015 at 10:24:22PM -0600, Alex Williamson wrote:
 For 1-5,16
 
 Reviewed-by: Alex Williamson alex.william...@redhat.com

Thanks a lot for your review.

 My only comment/question is whether you'd want to consider using
 ERR_PTR() return values from domain_alloc().  It's an alloc functions,
 so NULL == -ENOMEM is pretty standard, but we could at least have the
 interface to the iommu driver return more info even if we continue to
 mask that as NULL out to the IOMMU API users for now.  Thanks,

Yes, that might make sense. But to do anything useful with the ERR_PTR
we also need to change the iommu_domain_alloc() interface. This is
out-of-scope for this patch-set, we can discuss this seperatly.


Joerg

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-03-31 Thread Joerg Roedel
Hi Will,

On Mon, Mar 30, 2015 at 06:43:15PM +0100, Will Deacon wrote:
 Whilst I'm still a bit worried about the ability of the IOMMU driver to do
 very much in the -domain_alloc callback (since we don't know which IOMMU
 instance the domain is for), it doesn't leave us any worse off than we
 currently are.

The IOMMU driver should just allocate the data-structures for a domain
in the domain_alloc call-back. It should not be necessary to care about
any relations of the domain with specific iommu instances.
 
 So, for the arm-smmu patch and the core IOMMU changes:
 
   Acked-by: Will Deacon will.dea...@arm.com

Thanks a lot!


Joerg

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-03-31 Thread Joerg Roedel
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

Applied this series to the core branch.

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-03-30 Thread Will Deacon
Hi Joerg,

On Thu, Mar 26, 2015 at 12:43:03PM +, 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

Whilst I'm still a bit worried about the ability of the IOMMU driver to do
very much in the -domain_alloc callback (since we don't know which IOMMU
instance the domain is for), it doesn't leave us any worse off than we
currently are.

So, for the arm-smmu patch and the core IOMMU changes:

  Acked-by: Will Deacon will.dea...@arm.com

Hopefully this doesn't conflict too badly with my outstanding arm-smmu
pull requests to you, but do shout if you have any trouble.

Will
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-03-27 Thread Thierry Reding
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 tred...@nvidia.com


pgpld3hZekpiI.pgp
Description: PGP signature


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

2015-03-27 Thread Heiko Stuebner
Am Donnerstag, 26. März 2015, 13:43:03 schrieb Joerg Roedel:
 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.

core and Rockchip bits
Tested-by: Heiko Stuebner he...@sntech.de

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-03-27 Thread Alex Williamson
On Thu, 2015-03-26 at 13:43 +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.

For 1-5,16

Reviewed-by: Alex Williamson alex.william...@redhat.com

My only comment/question is whether you'd want to consider using
ERR_PTR() return values from domain_alloc().  It's an alloc functions,
so NULL == -ENOMEM is pretty standard, but we could at least have the
interface to the iommu driver return more info even if we continue to
mask that as NULL out to the IOMMU API users for now.  Thanks,

Alex

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-03-26 Thread Joerg Roedel
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(-)

-- 
1.8.4.5
Joerg Roedel (16):
  iommu: Introduce domain_alloc and domain_free iommu_ops
  iommu: Introduce iommu domain types
  iommu: Only allow iommu_map/unmap for paging domains
  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   | 26 +---
 drivers/iommu/ipmmu-vmsa.c  | 41 ++-
 drivers/iommu/msm_iommu.c   | 73 +-
 drivers/iommu/omap-iommu.c  | 49 +--
 drivers/iommu/rockchip-iommu.c  | 40 +++
 drivers/iommu/shmobile-iommu.c  | 39 ++
 drivers/iommu/tegra-gart.c  | 67 +--
 drivers/iommu/tegra-smmu.c  | 41 ++-
 include/linux/iommu.h   | 33 ++--
 16 files changed, 427 insertions(+), 316 deletions(-)

-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More