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

iommu/io-pgtable-arm: 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/162e58e83ed42f78c3fbefe78c9b5410dd1dc412.1668100209.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>

authored by

Robin Murphy and committed by
Joerg Roedel
99cbb8e4 fa8ce574

+15 -27
+15 -27
drivers/iommu/io-pgtable-arm.c
··· 360 360 max_entries = ARM_LPAE_PTES_PER_TABLE(data) - map_idx_start; 361 361 num_entries = min_t(int, pgcount, max_entries); 362 362 ret = arm_lpae_init_pte(data, iova, paddr, prot, lvl, num_entries, ptep); 363 - if (!ret && mapped) 363 + if (!ret) 364 364 *mapped += num_entries * size; 365 365 366 366 return ret; ··· 494 494 wmb(); 495 495 496 496 return ret; 497 - } 498 - 499 - static int arm_lpae_map(struct io_pgtable_ops *ops, unsigned long iova, 500 - phys_addr_t paddr, size_t size, int iommu_prot, gfp_t gfp) 501 - { 502 - return arm_lpae_map_pages(ops, iova, paddr, size, 1, iommu_prot, gfp, 503 - NULL); 504 497 } 505 498 506 499 static void __arm_lpae_free_pgtable(struct arm_lpae_io_pgtable *data, int lvl, ··· 675 682 data->start_level, ptep); 676 683 } 677 684 678 - static size_t arm_lpae_unmap(struct io_pgtable_ops *ops, unsigned long iova, 679 - size_t size, struct iommu_iotlb_gather *gather) 680 - { 681 - return arm_lpae_unmap_pages(ops, iova, size, 1, gather); 682 - } 683 - 684 685 static phys_addr_t arm_lpae_iova_to_phys(struct io_pgtable_ops *ops, 685 686 unsigned long iova) 686 687 { ··· 786 799 data->pgd_bits = va_bits - (data->bits_per_level * (levels - 1)); 787 800 788 801 data->iop.ops = (struct io_pgtable_ops) { 789 - .map = arm_lpae_map, 790 802 .map_pages = arm_lpae_map_pages, 791 - .unmap = arm_lpae_unmap, 792 803 .unmap_pages = arm_lpae_unmap_pages, 793 804 .iova_to_phys = arm_lpae_iova_to_phys, 794 805 }; ··· 1161 1176 1162 1177 int i, j; 1163 1178 unsigned long iova; 1164 - size_t size; 1179 + size_t size, mapped; 1165 1180 struct io_pgtable_ops *ops; 1166 1181 1167 1182 selftest_running = true; ··· 1194 1209 for_each_set_bit(j, &cfg->pgsize_bitmap, BITS_PER_LONG) { 1195 1210 size = 1UL << j; 1196 1211 1197 - if (ops->map(ops, iova, iova, size, IOMMU_READ | 1198 - IOMMU_WRITE | 1199 - IOMMU_NOEXEC | 1200 - IOMMU_CACHE, GFP_KERNEL)) 1212 + if (ops->map_pages(ops, iova, iova, size, 1, 1213 + IOMMU_READ | IOMMU_WRITE | 1214 + IOMMU_NOEXEC | IOMMU_CACHE, 1215 + GFP_KERNEL, &mapped)) 1201 1216 return __FAIL(ops, i); 1202 1217 1203 1218 /* Overlapping mappings */ 1204 - if (!ops->map(ops, iova, iova + size, size, 1205 - IOMMU_READ | IOMMU_NOEXEC, GFP_KERNEL)) 1219 + if (!ops->map_pages(ops, iova, iova + size, size, 1, 1220 + IOMMU_READ | IOMMU_NOEXEC, 1221 + GFP_KERNEL, &mapped)) 1206 1222 return __FAIL(ops, i); 1207 1223 1208 1224 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42)) ··· 1214 1228 1215 1229 /* Partial unmap */ 1216 1230 size = 1UL << __ffs(cfg->pgsize_bitmap); 1217 - if (ops->unmap(ops, SZ_1G + size, size, NULL) != size) 1231 + if (ops->unmap_pages(ops, SZ_1G + size, size, 1, NULL) != size) 1218 1232 return __FAIL(ops, i); 1219 1233 1220 1234 /* Remap of partial unmap */ 1221 - if (ops->map(ops, SZ_1G + size, size, size, IOMMU_READ, GFP_KERNEL)) 1235 + if (ops->map_pages(ops, SZ_1G + size, size, size, 1, 1236 + IOMMU_READ, GFP_KERNEL, &mapped)) 1222 1237 return __FAIL(ops, i); 1223 1238 1224 1239 if (ops->iova_to_phys(ops, SZ_1G + size + 42) != (size + 42)) ··· 1230 1243 for_each_set_bit(j, &cfg->pgsize_bitmap, BITS_PER_LONG) { 1231 1244 size = 1UL << j; 1232 1245 1233 - if (ops->unmap(ops, iova, size, NULL) != size) 1246 + if (ops->unmap_pages(ops, iova, size, 1, NULL) != size) 1234 1247 return __FAIL(ops, i); 1235 1248 1236 1249 if (ops->iova_to_phys(ops, iova + 42)) 1237 1250 return __FAIL(ops, i); 1238 1251 1239 1252 /* Remap full block */ 1240 - if (ops->map(ops, iova, iova, size, IOMMU_WRITE, GFP_KERNEL)) 1253 + if (ops->map_pages(ops, iova, iova, size, 1, 1254 + IOMMU_WRITE, GFP_KERNEL, &mapped)) 1241 1255 return __FAIL(ops, i); 1242 1256 1243 1257 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42))