Re: [PATCH v3 11/20] iommu/fsl_pamu: Add set_platform_dma callback

From: Baolu Lu
Date: Mon Nov 28 2022 - 22:53:56 EST


On 11/28/22 10:14 PM, Jason Gunthorpe wrote:
On Mon, Nov 28, 2022 at 02:46:39PM +0800, Lu Baolu wrote:
This IOMMU driver doesn't support default domain. Add the implementation
of set_platform_dma callback so that the IOMMU core could return the
DMA control.

Signed-off-by: Lu Baolu<baolu.lu@xxxxxxxxxxxxxxx>
---
drivers/iommu/fsl_pamu_domain.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/iommu/fsl_pamu_domain.c b/drivers/iommu/fsl_pamu_domain.c
index 4408ac3c49b6..b8c716e7c424 100644
--- a/drivers/iommu/fsl_pamu_domain.c
+++ b/drivers/iommu/fsl_pamu_domain.c
@@ -314,6 +314,14 @@ static void fsl_pamu_detach_device(struct iommu_domain *domain,
pr_debug("missing fsl,liodn property at %pOF\n", dev->of_node);
}
+static void fsl_pamu_set_platform_dma(struct device *dev)
+{
+ struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
+
+ if (domain)
+ fsl_pamu_detach_device(domain, dev);
+}
This is a bit ugly, it would be better to make the previous patch call
set_platform_dma if it is set instead of detach_dev and then these
patches should just rename the driver's fsl_pamu_detach_device to
fsl_pamu_set_platform_dma

Then the last patch just deletes the op and the core code

Yes. That's better. I will update the series.

Best regards,
baolu