summaryrefslogtreecommitdiff
path: root/drivers/iommu/iommu.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2021-04-01 18:52:55 +0300
committerJoerg Roedel <jroedel@suse.de>2021-04-07 11:56:53 +0300
commit4fc52b81e87be583efb834df5b58245cb9ddd3e7 (patch)
tree33fb4ed31dfa15d19dc22bcfaf475e2b08ed8223 /drivers/iommu/iommu.c
parenta250c23f15c21c556becd4986f453255e545807c (diff)
downloadlinux-4fc52b81e87be583efb834df5b58245cb9ddd3e7.tar.xz
iommu: remove DOMAIN_ATTR_IO_PGTABLE_CFG
Use an explicit set_pgtable_quirks method instead that just passes the actual quirk bitmask instead. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Will Deacon <will@kernel.org> Acked-by: Li Yang <leoyang.li@nxp.com> Link: https://lore.kernel.org/r/20210401155256.298656-20-hch@lst.de Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/iommu.c')
-rw-r--r--drivers/iommu/iommu.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index b09d3f07f3df..7ea5135b1431 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -2701,6 +2701,17 @@ int iommu_enable_nesting(struct iommu_domain *domain)
}
EXPORT_SYMBOL_GPL(iommu_enable_nesting);
+int iommu_set_pgtable_quirks(struct iommu_domain *domain,
+ unsigned long quirk)
+{
+ if (domain->type != IOMMU_DOMAIN_UNMANAGED)
+ return -EINVAL;
+ if (!domain->ops->set_pgtable_quirks)
+ return -EINVAL;
+ return domain->ops->set_pgtable_quirks(domain, quirk);
+}
+EXPORT_SYMBOL_GPL(iommu_set_pgtable_quirks);
+
void iommu_get_resv_regions(struct device *dev, struct list_head *list)
{
const struct iommu_ops *ops = dev->bus->iommu_ops;