diff mbox series

[v3,01/13] iommu/arm-smmu-v3: Drop __GFP_ZERO flag from DMA allocation

Message ID 20191209180514.272727-2-jean-philippe@linaro.org
State Accepted
Commit 9bb9069cfba5ac9b867bebbd4c2b1fa9fa20936f
Headers show
Series iommu: Add PASID support to Arm SMMUv3 | expand

Commit Message

Jean-Philippe Brucker Dec. 9, 2019, 6:05 p.m. UTC
Since commit 518a2f1925c3 ("dma-mapping: zero memory returned from
dma_alloc_*"), dma_alloc_* always initializes memory to zero, so there
is no need to use dma_zalloc_* or pass the __GFP_ZERO flag anymore.

The flag was introduced by commit 04fa26c71be5 ("iommu/arm-smmu: Convert
DMA buffer allocations to the managed API"), since the managed API
didn't provide a dmam_zalloc_coherent() function.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>

---
 drivers/iommu/arm-smmu-v3.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

-- 
2.24.0

Comments

Eric Auger Dec. 17, 2019, 10:59 a.m. UTC | #1
Hi Jean,

On 12/9/19 7:05 PM, Jean-Philippe Brucker wrote:
> Since commit 518a2f1925c3 ("dma-mapping: zero memory returned from

> dma_alloc_*"), dma_alloc_* always initializes memory to zero, so there

> is no need to use dma_zalloc_* or pass the __GFP_ZERO flag anymore.

> 

> The flag was introduced by commit 04fa26c71be5 ("iommu/arm-smmu: Convert

> DMA buffer allocations to the managed API"), since the managed API

> didn't provide a dmam_zalloc_coherent() function.

> 

> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>

Reviewed-by: Eric Auger <eric.auger@redhat.com>


Thanks

Eric

> ---

>  drivers/iommu/arm-smmu-v3.c | 9 ++++-----

>  1 file changed, 4 insertions(+), 5 deletions(-)

> 

> diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c

> index effe72eb89e7..d4e8b7f8d9f4 100644

> --- a/drivers/iommu/arm-smmu-v3.c

> +++ b/drivers/iommu/arm-smmu-v3.c

> @@ -1675,7 +1675,7 @@ static int arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid)

>  

>  	desc->span = STRTAB_SPLIT + 1;

>  	desc->l2ptr = dmam_alloc_coherent(smmu->dev, size, &desc->l2ptr_dma,

> -					  GFP_KERNEL | __GFP_ZERO);

> +					  GFP_KERNEL);

>  	if (!desc->l2ptr) {

>  		dev_err(smmu->dev,

>  			"failed to allocate l2 stream table for SID %u\n",

> @@ -2161,8 +2161,7 @@ static int arm_smmu_domain_finalise_s1(struct arm_smmu_domain *smmu_domain,

>  		return asid;

>  

>  	cfg->cdptr = dmam_alloc_coherent(smmu->dev, CTXDESC_CD_DWORDS << 3,

> -					 &cfg->cdptr_dma,

> -					 GFP_KERNEL | __GFP_ZERO);

> +					 &cfg->cdptr_dma, GFP_KERNEL);

>  	if (!cfg->cdptr) {

>  		dev_warn(smmu->dev, "failed to allocate context descriptor\n");

>  		ret = -ENOMEM;

> @@ -2883,7 +2882,7 @@ static int arm_smmu_init_strtab_2lvl(struct arm_smmu_device *smmu)

>  

>  	l1size = cfg->num_l1_ents * (STRTAB_L1_DESC_DWORDS << 3);

>  	strtab = dmam_alloc_coherent(smmu->dev, l1size, &cfg->strtab_dma,

> -				     GFP_KERNEL | __GFP_ZERO);

> +				     GFP_KERNEL);

>  	if (!strtab) {

>  		dev_err(smmu->dev,

>  			"failed to allocate l1 stream table (%u bytes)\n",

> @@ -2910,7 +2909,7 @@ static int arm_smmu_init_strtab_linear(struct arm_smmu_device *smmu)

>  

>  	size = (1 << smmu->sid_bits) * (STRTAB_STE_DWORDS << 3);

>  	strtab = dmam_alloc_coherent(smmu->dev, size, &cfg->strtab_dma,

> -				     GFP_KERNEL | __GFP_ZERO);

> +				     GFP_KERNEL);

>  	if (!strtab) {

>  		dev_err(smmu->dev,

>  			"failed to allocate linear stream table (%u bytes)\n",

>
diff mbox series

Patch

diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
index effe72eb89e7..d4e8b7f8d9f4 100644
--- a/drivers/iommu/arm-smmu-v3.c
+++ b/drivers/iommu/arm-smmu-v3.c
@@ -1675,7 +1675,7 @@  static int arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid)
 
 	desc->span = STRTAB_SPLIT + 1;
 	desc->l2ptr = dmam_alloc_coherent(smmu->dev, size, &desc->l2ptr_dma,
-					  GFP_KERNEL | __GFP_ZERO);
+					  GFP_KERNEL);
 	if (!desc->l2ptr) {
 		dev_err(smmu->dev,
 			"failed to allocate l2 stream table for SID %u\n",
@@ -2161,8 +2161,7 @@  static int arm_smmu_domain_finalise_s1(struct arm_smmu_domain *smmu_domain,
 		return asid;
 
 	cfg->cdptr = dmam_alloc_coherent(smmu->dev, CTXDESC_CD_DWORDS << 3,
-					 &cfg->cdptr_dma,
-					 GFP_KERNEL | __GFP_ZERO);
+					 &cfg->cdptr_dma, GFP_KERNEL);
 	if (!cfg->cdptr) {
 		dev_warn(smmu->dev, "failed to allocate context descriptor\n");
 		ret = -ENOMEM;
@@ -2883,7 +2882,7 @@  static int arm_smmu_init_strtab_2lvl(struct arm_smmu_device *smmu)
 
 	l1size = cfg->num_l1_ents * (STRTAB_L1_DESC_DWORDS << 3);
 	strtab = dmam_alloc_coherent(smmu->dev, l1size, &cfg->strtab_dma,
-				     GFP_KERNEL | __GFP_ZERO);
+				     GFP_KERNEL);
 	if (!strtab) {
 		dev_err(smmu->dev,
 			"failed to allocate l1 stream table (%u bytes)\n",
@@ -2910,7 +2909,7 @@  static int arm_smmu_init_strtab_linear(struct arm_smmu_device *smmu)
 
 	size = (1 << smmu->sid_bits) * (STRTAB_STE_DWORDS << 3);
 	strtab = dmam_alloc_coherent(smmu->dev, size, &cfg->strtab_dma,
-				     GFP_KERNEL | __GFP_ZERO);
+				     GFP_KERNEL);
 	if (!strtab) {
 		dev_err(smmu->dev,
 			"failed to allocate linear stream table (%u bytes)\n",