Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iommu/qcom: Update to {map,unmap}_pages

Update map/unmap to the new multi-page interfaces, which is dead easy
since we just pass them through to io-pgtable anyway.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/ccff9a133d12ec938741720be6baf5d788b71ea0.1668100209.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>

authored by

Robin Murphy and committed by
Joerg Roedel
fa8ce574 0a17bbab

+8 -6
+8 -6
drivers/iommu/arm/arm-smmu/qcom_iommu.c
··· 410 410 } 411 411 412 412 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, 413 - phys_addr_t paddr, size_t size, int prot, gfp_t gfp) 413 + phys_addr_t paddr, size_t pgsize, size_t pgcount, 414 + int prot, gfp_t gfp, size_t *mapped) 414 415 { 415 416 int ret; 416 417 unsigned long flags; ··· 422 421 return -ENODEV; 423 422 424 423 spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); 425 - ret = ops->map(ops, iova, paddr, size, prot, GFP_ATOMIC); 424 + ret = ops->map_pages(ops, iova, paddr, pgsize, pgcount, prot, GFP_ATOMIC, mapped); 426 425 spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); 427 426 return ret; 428 427 } 429 428 430 429 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, 431 - size_t size, struct iommu_iotlb_gather *gather) 430 + size_t pgsize, size_t pgcount, 431 + struct iommu_iotlb_gather *gather) 432 432 { 433 433 size_t ret; 434 434 unsigned long flags; ··· 446 444 */ 447 445 pm_runtime_get_sync(qcom_domain->iommu->dev); 448 446 spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); 449 - ret = ops->unmap(ops, iova, size, gather); 447 + ret = ops->unmap_pages(ops, iova, pgsize, pgcount, gather); 450 448 spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); 451 449 pm_runtime_put_sync(qcom_domain->iommu->dev); 452 450 ··· 584 582 .default_domain_ops = &(const struct iommu_domain_ops) { 585 583 .attach_dev = qcom_iommu_attach_dev, 586 584 .detach_dev = qcom_iommu_detach_dev, 587 - .map = qcom_iommu_map, 588 - .unmap = qcom_iommu_unmap, 585 + .map_pages = qcom_iommu_map, 586 + .unmap_pages = qcom_iommu_unmap, 589 587 .flush_iotlb_all = qcom_iommu_flush_iotlb_all, 590 588 .iotlb_sync = qcom_iommu_iotlb_sync, 591 589 .iova_to_phys = qcom_iommu_iova_to_phys,