Since this might become a repeated idiom in drivers, let's add a tidy encapsulation from the outset.
Signed-off-by: Robin Murphy <robin.mur...@arm.com> --- drivers/iommu/io-pgtable.c | 9 +++++++++ drivers/iommu/io-pgtable.h | 1 + 2 files changed, 10 insertions(+) diff --git a/drivers/iommu/io-pgtable.c b/drivers/iommu/io-pgtable.c index 127558d83667..af9abe52cf06 100644 --- a/drivers/iommu/io-pgtable.c +++ b/drivers/iommu/io-pgtable.c @@ -77,3 +77,12 @@ void free_io_pgtable_ops(struct io_pgtable_ops *ops) io_pgtable_tlb_flush_all(iop); io_pgtable_init_table[iop->fmt]->free(iop); } + +void io_pgtable_set_non_strict(struct io_pgtable_ops *ops, bool val) { + struct io_pgtable *iop = io_pgtable_ops_to_pgtable(ops); + + if (val) + iop->cfg.quirks |= IO_PGTABLE_QUIRK_NON_STRICT; + else + iop->cfg.quirks &= ~IO_PGTABLE_QUIRK_NON_STRICT; +} diff --git a/drivers/iommu/io-pgtable.h b/drivers/iommu/io-pgtable.h index 47d5ae559329..0602a132655c 100644 --- a/drivers/iommu/io-pgtable.h +++ b/drivers/iommu/io-pgtable.h @@ -153,6 +153,7 @@ struct io_pgtable_ops *alloc_io_pgtable_ops(enum io_pgtable_fmt fmt, */ void free_io_pgtable_ops(struct io_pgtable_ops *ops); +void io_pgtable_set_non_strict(struct io_pgtable_ops *ops, bool val); /* * Internal structures for page table allocator implementations. -- 2.19.0.dirty _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu