All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: joro@8bytes.org, will@kernel.org
Cc: iommu@lists.linux-foundation.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, suravee.suthikulpanit@amd.com,
	baolu.lu@linux.intel.com, john.garry@huawei.com,
	dianders@chromium.org
Subject: [PATCH 08/23] iommu/rockchip: Drop IOVA cookie management
Date: Wed, 21 Jul 2021 19:20:19 +0100	[thread overview]
Message-ID: <f63858319b91820de754ae61414939a4e4780ff6.1626888444.git.robin.murphy@arm.com> (raw)
In-Reply-To: <cover.1626888444.git.robin.murphy@arm.com>

The core code bakes its own cookies now.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/iommu/rockchip-iommu.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
index 9febfb7f3025..c24561f54f32 100644
--- a/drivers/iommu/rockchip-iommu.c
+++ b/drivers/iommu/rockchip-iommu.c
@@ -1074,10 +1074,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 	if (!rk_domain)
 		return NULL;
 
-	if (type == IOMMU_DOMAIN_DMA &&
-	    iommu_get_dma_cookie(&rk_domain->domain))
-		goto err_free_domain;
-
 	/*
 	 * rk32xx iommus use a 2 level pagetable.
 	 * Each level1 (dt) and level2 (pt) table has 1024 4-byte entries.
@@ -1085,7 +1081,7 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 	 */
 	rk_domain->dt = (u32 *)get_zeroed_page(GFP_KERNEL | GFP_DMA32);
 	if (!rk_domain->dt)
-		goto err_put_cookie;
+		goto err_free_domain;
 
 	rk_domain->dt_dma = dma_map_single(dma_dev, rk_domain->dt,
 					   SPAGE_SIZE, DMA_TO_DEVICE);
@@ -1106,9 +1102,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 
 err_free_dt:
 	free_page((unsigned long)rk_domain->dt);
-err_put_cookie:
-	if (type == IOMMU_DOMAIN_DMA)
-		iommu_put_dma_cookie(&rk_domain->domain);
 err_free_domain:
 	kfree(rk_domain);
 
@@ -1137,8 +1130,6 @@ static void rk_iommu_domain_free(struct iommu_domain *domain)
 			 SPAGE_SIZE, DMA_TO_DEVICE);
 	free_page((unsigned long)rk_domain->dt);
 
-	if (domain->type == IOMMU_DOMAIN_DMA)
-		iommu_put_dma_cookie(&rk_domain->domain);
 	kfree(rk_domain);
 }
 
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: joro@8bytes.org, will@kernel.org
Cc: linux-kernel@vger.kernel.org, dianders@chromium.org,
	iommu@lists.linux-foundation.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/23] iommu/rockchip: Drop IOVA cookie management
Date: Wed, 21 Jul 2021 19:20:19 +0100	[thread overview]
Message-ID: <f63858319b91820de754ae61414939a4e4780ff6.1626888444.git.robin.murphy@arm.com> (raw)
In-Reply-To: <cover.1626888444.git.robin.murphy@arm.com>

The core code bakes its own cookies now.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/iommu/rockchip-iommu.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
index 9febfb7f3025..c24561f54f32 100644
--- a/drivers/iommu/rockchip-iommu.c
+++ b/drivers/iommu/rockchip-iommu.c
@@ -1074,10 +1074,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 	if (!rk_domain)
 		return NULL;
 
-	if (type == IOMMU_DOMAIN_DMA &&
-	    iommu_get_dma_cookie(&rk_domain->domain))
-		goto err_free_domain;
-
 	/*
 	 * rk32xx iommus use a 2 level pagetable.
 	 * Each level1 (dt) and level2 (pt) table has 1024 4-byte entries.
@@ -1085,7 +1081,7 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 	 */
 	rk_domain->dt = (u32 *)get_zeroed_page(GFP_KERNEL | GFP_DMA32);
 	if (!rk_domain->dt)
-		goto err_put_cookie;
+		goto err_free_domain;
 
 	rk_domain->dt_dma = dma_map_single(dma_dev, rk_domain->dt,
 					   SPAGE_SIZE, DMA_TO_DEVICE);
@@ -1106,9 +1102,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 
 err_free_dt:
 	free_page((unsigned long)rk_domain->dt);
-err_put_cookie:
-	if (type == IOMMU_DOMAIN_DMA)
-		iommu_put_dma_cookie(&rk_domain->domain);
 err_free_domain:
 	kfree(rk_domain);
 
@@ -1137,8 +1130,6 @@ static void rk_iommu_domain_free(struct iommu_domain *domain)
 			 SPAGE_SIZE, DMA_TO_DEVICE);
 	free_page((unsigned long)rk_domain->dt);
 
-	if (domain->type == IOMMU_DOMAIN_DMA)
-		iommu_put_dma_cookie(&rk_domain->domain);
 	kfree(rk_domain);
 }
 
-- 
2.25.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: joro@8bytes.org, will@kernel.org
Cc: iommu@lists.linux-foundation.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, suravee.suthikulpanit@amd.com,
	baolu.lu@linux.intel.com, john.garry@huawei.com,
	dianders@chromium.org
Subject: [PATCH 08/23] iommu/rockchip: Drop IOVA cookie management
Date: Wed, 21 Jul 2021 19:20:19 +0100	[thread overview]
Message-ID: <f63858319b91820de754ae61414939a4e4780ff6.1626888444.git.robin.murphy@arm.com> (raw)
In-Reply-To: <cover.1626888444.git.robin.murphy@arm.com>

The core code bakes its own cookies now.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/iommu/rockchip-iommu.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
index 9febfb7f3025..c24561f54f32 100644
--- a/drivers/iommu/rockchip-iommu.c
+++ b/drivers/iommu/rockchip-iommu.c
@@ -1074,10 +1074,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 	if (!rk_domain)
 		return NULL;
 
-	if (type == IOMMU_DOMAIN_DMA &&
-	    iommu_get_dma_cookie(&rk_domain->domain))
-		goto err_free_domain;
-
 	/*
 	 * rk32xx iommus use a 2 level pagetable.
 	 * Each level1 (dt) and level2 (pt) table has 1024 4-byte entries.
@@ -1085,7 +1081,7 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 	 */
 	rk_domain->dt = (u32 *)get_zeroed_page(GFP_KERNEL | GFP_DMA32);
 	if (!rk_domain->dt)
-		goto err_put_cookie;
+		goto err_free_domain;
 
 	rk_domain->dt_dma = dma_map_single(dma_dev, rk_domain->dt,
 					   SPAGE_SIZE, DMA_TO_DEVICE);
@@ -1106,9 +1102,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type)
 
 err_free_dt:
 	free_page((unsigned long)rk_domain->dt);
-err_put_cookie:
-	if (type == IOMMU_DOMAIN_DMA)
-		iommu_put_dma_cookie(&rk_domain->domain);
 err_free_domain:
 	kfree(rk_domain);
 
@@ -1137,8 +1130,6 @@ static void rk_iommu_domain_free(struct iommu_domain *domain)
 			 SPAGE_SIZE, DMA_TO_DEVICE);
 	free_page((unsigned long)rk_domain->dt);
 
-	if (domain->type == IOMMU_DOMAIN_DMA)
-		iommu_put_dma_cookie(&rk_domain->domain);
 	kfree(rk_domain);
 }
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-07-21 18:21 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21 18:20 [PATCH 00/23] iommu: Refactor DMA domain strictness Robin Murphy
2021-07-21 18:20 ` Robin Murphy
2021-07-21 18:20 ` Robin Murphy
2021-07-21 18:20 ` [PATCH 01/23] iommu: Pull IOVA cookie management into the core Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 02/23] iommu/amd: Drop IOVA cookie management Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 03/23] iommu/arm-smmu: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 04/23] iommu/vt-d: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 05/23] iommu/exynos: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 06/23] iommu/ipmmu-vmsa: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 07/23] iommu/mtk: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` Robin Murphy [this message]
2021-07-21 18:20   ` [PATCH 08/23] iommu/rockchip: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 09/23] iommu/sprd: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 10/23] iommu/sun50i: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 11/23] iommu/virtio: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 12/23] iommu/dma: Unexport " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 13/23] iommu/dma: Remove redundant "!dev" checks Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-26  8:28   ` John Garry
2021-07-26  8:28     ` John Garry
2021-07-26  8:28     ` John Garry
2021-07-21 18:20 ` [PATCH 14/23] iommu: Introduce explicit type for non-strict DMA domains Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 15/23] iommu/amd: Prepare for multiple DMA domain types Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 16/23] iommu/arm-smmu: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-26 12:46   ` Joerg Roedel
2021-07-26 12:46     ` Joerg Roedel
2021-07-26 12:46     ` Joerg Roedel
2021-07-26 13:09     ` Robin Murphy
2021-07-26 13:09       ` Robin Murphy
2021-07-26 13:09       ` Robin Murphy
2021-07-26 18:43       ` Joerg Roedel
2021-07-26 18:43         ` Joerg Roedel
2021-07-26 18:43         ` Joerg Roedel
2021-07-21 18:20 ` [PATCH 17/23] iommu/vt-d: " Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-22 16:44   ` kernel test robot
2021-07-22 16:44     ` kernel test robot
2021-07-22 16:44     ` kernel test robot
2021-07-22 16:44     ` kernel test robot
2021-07-22 17:30     ` Robin Murphy
2021-07-22 17:30       ` Robin Murphy
2021-07-22 17:30       ` Robin Murphy
2021-07-22 17:30       ` Robin Murphy
2021-07-22 18:44   ` kernel test robot
2021-07-22 18:44     ` kernel test robot
2021-07-22 18:44     ` kernel test robot
2021-07-22 18:44     ` kernel test robot
2021-07-24  5:23   ` Lu Baolu
2021-07-24  5:23     ` Lu Baolu
2021-07-24  5:23     ` Lu Baolu
2021-07-26  8:30     ` Robin Murphy
2021-07-26  8:30       ` Robin Murphy
2021-07-26  8:30       ` Robin Murphy
2021-07-21 18:20 ` [PATCH 18/23] iommu: Express DMA strictness via the domain type Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-24  5:29   ` Lu Baolu
2021-07-24  5:29     ` Lu Baolu
2021-07-24  5:29     ` Lu Baolu
2021-07-26  8:27     ` Robin Murphy
2021-07-26  8:27       ` Robin Murphy
2021-07-26  8:27       ` Robin Murphy
2021-07-26 11:31       ` Lu Baolu
2021-07-26 11:31         ` Lu Baolu
2021-07-26 11:31         ` Lu Baolu
2021-07-26 12:29       ` Lu Baolu
2021-07-26 12:29         ` Lu Baolu
2021-07-26 12:29         ` Lu Baolu
2021-07-26 12:43         ` Robin Murphy
2021-07-26 12:43           ` Robin Murphy
2021-07-26 12:43           ` Robin Murphy
2021-07-21 18:20 ` [PATCH 19/23] iommu: Expose DMA domain strictness via sysfs Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 20/23] iommu: Allow choosing DMA strictness at build time Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 21/23] iommu/dma: Factor out flush queue init Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 22/23] iommu: Allow enabling non-strict mode dynamically Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20 ` [PATCH 23/23] iommu/arm-smmu: Allow non-strict in pgtable_quirks interface Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-21 18:20   ` Robin Murphy
2021-07-26  8:13 ` [PATCH 00/23] iommu: Refactor DMA domain strictness John Garry
2021-07-26  8:13   ` John Garry
2021-07-26  8:13   ` John Garry
2021-07-26 12:06   ` Robin Murphy
2021-07-26 12:06     ` Robin Murphy
2021-07-26 12:06     ` Robin Murphy
2021-07-26 13:02 ` Joerg Roedel
2021-07-26 13:02   ` Joerg Roedel
2021-07-26 13:02   ` Joerg Roedel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f63858319b91820de754ae61414939a4e4780ff6.1626888444.git.robin.murphy@arm.com \
    --to=robin.murphy@arm.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=dianders@chromium.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=john.garry@huawei.com \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.