On Mon, Apr 05, 2021 at 12:11:11PM -0700, Isaac J. Manjarres wrote: > Implement the unmap_pages() callback for the ARM SMMU driver > to allow calls from iommu_unmap to unmap multiple pages of > the same size in one call. > > Signed-off-by: Isaac J. Manjarres <isa...@codeaurora.org> > Suggested-by: Will Deacon <w...@kernel.org> > --- > drivers/iommu/arm/arm-smmu/arm-smmu.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c > b/drivers/iommu/arm/arm-smmu/arm-smmu.c > index d8c6bfde6a61..f29f1fb109f8 100644 > --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c > +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c > @@ -1225,6 +1225,24 @@ static size_t arm_smmu_unmap(struct iommu_domain > *domain, unsigned long iova, > return ret; > } > > +static size_t arm_smmu_unmap_pages(struct iommu_domain *domain, unsigned > long iova, > + size_t pgsize, size_t pgcount, > + struct iommu_iotlb_gather *iotlb_gather) > +{ > + struct io_pgtable_ops *ops = to_smmu_domain(domain)->pgtbl_ops; > + struct arm_smmu_device *smmu = to_smmu_domain(domain)->smmu; > + size_t ret; > + > + if (!ops) > + return 0; > + > + arm_smmu_rpm_get(smmu); > + ret = ops->unmap_pages(ops, iova, pgsize, pgcount, iotlb_gather); > + arm_smmu_rpm_put(smmu); > + > + return ret; > +}
Doesn't this go wrong if we're using the short-descriptor page-table format? (same for the next patch) Will _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu