diff options
author | Robin Murphy <robin.murphy@arm.com> | 2021-08-11 13:21:34 +0100 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2021-08-18 13:27:49 +0200 |
commit | c208916fe6c7b84e3ec95cd91853039596eeb2cf (patch) | |
tree | 735bb051c9c011787d0e9f34c0a6f9ce1d89b67d /include/linux/iommu.h | |
parent | 78ca078459d779319a22a8e2a18fc491da8a229b (diff) | |
download | linux-stable-c208916fe6c7b84e3ec95cd91853039596eeb2cf.tar.gz linux-stable-c208916fe6c7b84e3ec95cd91853039596eeb2cf.tar.bz2 linux-stable-c208916fe6c7b84e3ec95cd91853039596eeb2cf.zip |
iommu: Express DMA strictness via the domain type
Eliminate the iommu_get_dma_strict() indirection and pipe the
information through the domain type from the beginning. Besides
the flow simplification this also has several nice side-effects:
- Automatically implies strict mode for untrusted devices by
virtue of their IOMMU_DOMAIN_DMA override.
- Ensures that we only end up using flush queues for drivers
which are aware of them and can actually benefit.
- Allows us to handle flush queue init failure by falling back
to strict mode instead of leaving it to possibly blow up later.
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/47083d69155577f1367877b1594921948c366eb3.1628682049.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/iommu.h')
-rw-r--r-- | include/linux/iommu.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 5629ae42951f..923a8d1c5e39 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -504,7 +504,6 @@ int iommu_set_pgtable_quirks(struct iommu_domain *domain, unsigned long quirks); void iommu_set_dma_strict(void); -bool iommu_get_dma_strict(struct iommu_domain *domain); extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev, unsigned long iova, int flags); |