Re: [PATCH 00/16 v2] iommu: Move domain allocation into drivers
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
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
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
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
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
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
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
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