iommu/arm-smmu: Prepare for multiple DMA domain types
authorRobin Murphy <robin.murphy@arm.com>
Wed, 11 Aug 2021 12:21:32 +0000 (13:21 +0100)
committerJoerg Roedel <jroedel@suse.de>
Wed, 18 Aug 2021 11:27:49 +0000 (13:27 +0200)
In preparation for the strict vs. non-strict decision for DMA domains to
be expressed in the domain type, make sure we expose our flush queue
awareness by accepting the new domain type.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/8f217ef285bd0bb9456c27ef622d2efdbbca1ad8.1628682049.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
drivers/iommu/arm/arm-smmu/arm-smmu.c

index 6980186..f29dbe9 100644 (file)
@@ -1972,6 +1972,7 @@ static struct iommu_domain *arm_smmu_domain_alloc(unsigned type)
 
        if (type != IOMMU_DOMAIN_UNMANAGED &&
            type != IOMMU_DOMAIN_DMA &&
+           type != IOMMU_DOMAIN_DMA_FQ &&
            type != IOMMU_DOMAIN_IDENTITY)
                return NULL;
 
index a325d47..1d013b1 100644 (file)
@@ -866,7 +866,8 @@ static struct iommu_domain *arm_smmu_domain_alloc(unsigned type)
        struct arm_smmu_domain *smmu_domain;
 
        if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_IDENTITY) {
-               if (using_legacy_binding || type != IOMMU_DOMAIN_DMA)
+               if (using_legacy_binding ||
+                   (type != IOMMU_DOMAIN_DMA && type != IOMMU_DOMAIN_DMA_FQ))
                        return NULL;
        }
        /*