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

iommu/io-pgtable-arm-v7s: Remove map/unmap

With all users now calling {map,unmap}_pages, remove the wrappers.

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

authored by

Robin Murphy and committed by
Joerg Roedel
b9bf41e2 99cbb8e4

+15 -26
+15 -26
drivers/iommu/io-pgtable-arm-v7s.c
··· 564 564 565 565 iova += pgsize; 566 566 paddr += pgsize; 567 - if (mapped) 568 - *mapped += pgsize; 567 + *mapped += pgsize; 569 568 } 570 569 /* 571 570 * Synchronise all PTE updates for the new mapping before there's ··· 573 574 wmb(); 574 575 575 576 return ret; 576 - } 577 - 578 - static int arm_v7s_map(struct io_pgtable_ops *ops, unsigned long iova, 579 - phys_addr_t paddr, size_t size, int prot, gfp_t gfp) 580 - { 581 - return arm_v7s_map_pages(ops, iova, paddr, size, 1, prot, gfp, NULL); 582 577 } 583 578 584 579 static void arm_v7s_free_pgtable(struct io_pgtable *iop) ··· 757 764 return unmapped; 758 765 } 759 766 760 - static size_t arm_v7s_unmap(struct io_pgtable_ops *ops, unsigned long iova, 761 - size_t size, struct iommu_iotlb_gather *gather) 762 - { 763 - return arm_v7s_unmap_pages(ops, iova, size, 1, gather); 764 - } 765 - 766 767 static phys_addr_t arm_v7s_iova_to_phys(struct io_pgtable_ops *ops, 767 768 unsigned long iova) 768 769 { ··· 829 842 goto out_free_data; 830 843 831 844 data->iop.ops = (struct io_pgtable_ops) { 832 - .map = arm_v7s_map, 833 845 .map_pages = arm_v7s_map_pages, 834 - .unmap = arm_v7s_unmap, 835 846 .unmap_pages = arm_v7s_unmap_pages, 836 847 .iova_to_phys = arm_v7s_iova_to_phys, 837 848 }; ··· 939 954 }; 940 955 unsigned int iova, size, iova_start; 941 956 unsigned int i, loopnr = 0; 957 + size_t mapped; 942 958 943 959 selftest_running = true; 944 960 ··· 970 984 iova = 0; 971 985 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { 972 986 size = 1UL << i; 973 - if (ops->map(ops, iova, iova, size, IOMMU_READ | 974 - IOMMU_WRITE | 975 - IOMMU_NOEXEC | 976 - IOMMU_CACHE, GFP_KERNEL)) 987 + if (ops->map_pages(ops, iova, iova, size, 1, 988 + IOMMU_READ | IOMMU_WRITE | 989 + IOMMU_NOEXEC | IOMMU_CACHE, 990 + GFP_KERNEL, &mapped)) 977 991 return __FAIL(ops); 978 992 979 993 /* Overlapping mappings */ 980 - if (!ops->map(ops, iova, iova + size, size, 981 - IOMMU_READ | IOMMU_NOEXEC, GFP_KERNEL)) 994 + if (!ops->map_pages(ops, iova, iova + size, size, 1, 995 + IOMMU_READ | IOMMU_NOEXEC, GFP_KERNEL, 996 + &mapped)) 982 997 return __FAIL(ops); 983 998 984 999 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42)) ··· 994 1007 size = 1UL << __ffs(cfg.pgsize_bitmap); 995 1008 while (i < loopnr) { 996 1009 iova_start = i * SZ_16M; 997 - if (ops->unmap(ops, iova_start + size, size, NULL) != size) 1010 + if (ops->unmap_pages(ops, iova_start + size, size, 1, NULL) != size) 998 1011 return __FAIL(ops); 999 1012 1000 1013 /* Remap of partial unmap */ 1001 - if (ops->map(ops, iova_start + size, size, size, IOMMU_READ, GFP_KERNEL)) 1014 + if (ops->map_pages(ops, iova_start + size, size, size, 1, 1015 + IOMMU_READ, GFP_KERNEL, &mapped)) 1002 1016 return __FAIL(ops); 1003 1017 1004 1018 if (ops->iova_to_phys(ops, iova_start + size + 42) ··· 1013 1025 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { 1014 1026 size = 1UL << i; 1015 1027 1016 - if (ops->unmap(ops, iova, size, NULL) != size) 1028 + if (ops->unmap_pages(ops, iova, size, 1, NULL) != size) 1017 1029 return __FAIL(ops); 1018 1030 1019 1031 if (ops->iova_to_phys(ops, iova + 42)) 1020 1032 return __FAIL(ops); 1021 1033 1022 1034 /* Remap full block */ 1023 - if (ops->map(ops, iova, iova, size, IOMMU_WRITE, GFP_KERNEL)) 1035 + if (ops->map_pages(ops, iova, iova, size, 1, IOMMU_WRITE, 1036 + GFP_KERNEL, &mapped)) 1024 1037 return __FAIL(ops); 1025 1038 1026 1039 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42))