/linux-6.3-rc2/drivers/iommu/ |
A D | tegra-gart.c | 60 #define for_each_gart_pte(gart, iova) \ argument 66 unsigned long iova, unsigned long pte) in gart_set_pte() 73 unsigned long iova) in gart_read_pte() 85 unsigned long iova; in do_gart_setup() local 95 unsigned long iova, size_t bytes) in gart_iova_range_invalid() 101 static inline bool gart_pte_valid(struct gart_device *gart, unsigned long iova) in gart_pte_valid() 180 static int gart_iommu_map(struct iommu_domain *domain, unsigned long iova, in gart_iommu_map() 197 unsigned long iova) in __gart_iommu_unmap() 209 static size_t gart_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in gart_iommu_unmap() 226 dma_addr_t iova) in gart_iommu_iova_to_phys() [all …]
|
A D | iova.c | 248 static void free_iova_mem(struct iova *iova) in free_iova_mem() 345 struct iova *iova = to_iova(node); in private_find_iova() local 375 struct iova *iova; in find_iova() local 392 __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova() 414 struct iova *iova; in free_iova() local 510 struct iova *iova, *tmp; in put_iova_domain() local 524 struct iova *iova = to_iova(node); in __is_range_overlap() local 534 struct iova *iova; in alloc_and_init_iova() local 549 struct iova *iova; in __insert_new_range() local 559 __adjust_overlap_range(struct iova *iova, in __adjust_overlap_range() [all …]
|
A D | io-pgtable-dart.c | 124 unsigned long iova, phys_addr_t paddr, in dart_init_pte() 173 static int dart_get_table(struct dart_io_pgtable *data, unsigned long iova) in dart_get_table() 179 static int dart_get_l1_index(struct dart_io_pgtable *data, unsigned long iova) in dart_get_l1_index() 186 static int dart_get_l2_index(struct dart_io_pgtable *data, unsigned long iova) in dart_get_l2_index() 193 static dart_iopte *dart_get_l2(struct dart_io_pgtable *data, unsigned long iova) in dart_get_l2() 236 static int dart_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in dart_map_pages() 298 static size_t dart_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova, in dart_unmap_pages() 342 unsigned long iova) in dart_iova_to_phys()
|
A D | tegra-smmu.c | 156 static unsigned int iova_pd_index(unsigned long iova) in iova_pd_index() 161 static unsigned int iova_pt_index(unsigned long iova) in iova_pt_index() 223 unsigned long iova) in smmu_flush_tlb_section() 238 unsigned long iova) in smmu_flush_tlb_group() 552 static u32 *tegra_smmu_pte_offset(struct page *pt_page, unsigned long iova) in tegra_smmu_pte_offset() 577 static u32 *as_get_pte(struct tegra_smmu_as *as, dma_addr_t iova, in as_get_pte() 660 unsigned long iova, gfp_t gfp, in as_get_pde_page() 699 __tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_map() 736 __tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_unmap() 753 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map() [all …]
|
A D | sun50i-iommu.c | 165 static u32 sun50i_iova_get_dte_index(dma_addr_t iova) in sun50i_iova_get_dte_index() 170 static u32 sun50i_iova_get_pte_index(dma_addr_t iova) in sun50i_iova_get_pte_index() 301 unsigned long iova) in sun50i_iommu_zap_iova() 318 unsigned long iova) in sun50i_iommu_zap_ptw_cache() 334 unsigned long iova, size_t size) in sun50i_iommu_zap_range() 406 unsigned long iova, size_t size) in sun50i_iommu_iotlb_sync_map() 553 dma_addr_t iova, gfp_t gfp) in sun50i_dte_get_page_table() 649 dma_addr_t iova) in sun50i_iommu_iova_to_phys() 848 unsigned master, phys_addr_t iova, in sun50i_iommu_report_fault() 866 phys_addr_t iova; in sun50i_iommu_handle_pt_irq() local [all …]
|
A D | exynos-iommu.c | 99 #define lpage_offs(iova) (iova & (LPAGE_SIZE - 1)) argument 106 static u32 lv1ent_offset(sysmmu_iova_t iova) in lv1ent_offset() 111 static u32 lv2ent_offset(sysmmu_iova_t iova) in lv2ent_offset() 451 sysmmu_iova_t iova, unsigned int num_inv) in __sysmmu_tlb_invalidate_entry() 669 sysmmu_iova_t iova) in sysmmu_tlb_invalidate_flpdcache() 689 sysmmu_iova_t iova, size_t size) in sysmmu_tlb_invalidate_entry() 1131 sysmmu_pte_t *sent, sysmmu_iova_t iova, in lv1set_section() 1234 sysmmu_iova_t iova = (sysmmu_iova_t)l_iova; in exynos_iommu_map() local 1271 sysmmu_iova_t iova, size_t size) in exynos_iommu_tlb_invalidate_entry() 1289 sysmmu_iova_t iova = (sysmmu_iova_t)l_iova; in exynos_iommu_unmap() local [all …]
|
A D | rockchip-iommu.c | 320 static u32 rk_iova_dte_index(dma_addr_t iova) in rk_iova_dte_index() 325 static u32 rk_iova_pte_index(dma_addr_t iova) in rk_iova_pte_index() 330 static u32 rk_iova_page_offset(dma_addr_t iova) in rk_iova_page_offset() 367 dma_addr_t iova; in rk_iommu_zap_lines() local 612 dma_addr_t iova; in rk_iommu_irq() local 677 dma_addr_t iova) in rk_iommu_iova_to_phys() 705 dma_addr_t iova, size_t size) in rk_iommu_zap_iova() 734 dma_addr_t iova, size_t size) in rk_iommu_zap_iova_first_last() 743 dma_addr_t iova) in rk_dte_get_page_table() 802 dma_addr_t pte_dma, dma_addr_t iova, in rk_iommu_map_iova() [all …]
|
A D | io-pgtable-arm-v7s.c | 432 unsigned long iova, phys_addr_t paddr, int prot, in arm_v7s_init_pte() 497 static int __arm_v7s_map(struct arm_v7s_io_pgtable *data, unsigned long iova, in __arm_v7s_map() 544 static int arm_v7s_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in arm_v7s_map_pages() 596 unsigned long iova, int idx, int lvl, in arm_v7s_split_cont() 623 unsigned long iova, size_t size, in arm_v7s_split_blk_unmap() 668 unsigned long iova, size_t size, int lvl, in __arm_v7s_unmap() 738 static size_t arm_v7s_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova, in arm_v7s_unmap_pages() 761 unsigned long iova) in arm_v7s_iova_to_phys() 903 static void __init dummy_tlb_flush(unsigned long iova, size_t size, in dummy_tlb_flush() 911 unsigned long iova, size_t granule, in dummy_tlb_add_page() [all …]
|
/linux-6.3-rc2/include/linux/ |
A D | iova.h | 18 struct iova { struct 27 /* holds all the iova translations for a domain */ argument 43 static inline unsigned long iova_size(struct iova *iova) in iova_size() 58 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset() 68 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr() 73 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn() 114 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
|
A D | iommufd.h | 74 unsigned long iova, in iommufd_access_pin_pages() 83 unsigned long iova, in iommufd_access_unpin_pages() 88 static inline int iommufd_access_rw(struct iommufd_access *access, unsigned long iova, in iommufd_access_rw()
|
/linux-6.3-rc2/drivers/infiniband/sw/rxe/ |
A D | rxe_mr.c | 27 int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length) in mr_check_range() 80 static unsigned long rxe_mr_iova_to_index(struct rxe_mr *mr, u64 iova) in rxe_mr_iova_to_index() 134 int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, in rxe_mr_init_user() 213 static int rxe_set_page(struct ib_mr *ibmr, u64 iova) in rxe_set_page() 250 static int rxe_mr_copy_xarray(struct rxe_mr *mr, u64 iova, void *addr, in rxe_mr_copy_xarray() 282 static void rxe_mr_copy_dma(struct rxe_mr *mr, u64 iova, void *addr, in rxe_mr_copy_dma() 309 int rxe_mr_copy(struct rxe_mr *mr, u64 iova, void *addr, in rxe_mr_copy() 350 u64 iova; in copy_data() local 476 int rxe_mr_do_atomic_op(struct rxe_mr *mr, u64 iova, int opcode, in rxe_mr_do_atomic_op() 534 int rxe_mr_do_atomic_write(struct rxe_mr *mr, u64 iova, u64 value) in rxe_mr_do_atomic_write() [all …]
|
/linux-6.3-rc2/drivers/vfio/ |
A D | iova_bitmap.c | 36 unsigned long iova; member 112 unsigned long iova; member 127 static unsigned long iova_bitmap_offset_to_index(struct iova_bitmap *bitmap, in iova_bitmap_offset_to_index() 237 struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, in iova_bitmap_alloc() 316 unsigned long iova = iova_bitmap_mapped_iova(bitmap); in iova_bitmap_mapped_length() local 349 unsigned long iova = iova_bitmap_mapped_length(bitmap) - 1; in iova_bitmap_advance() local 402 unsigned long iova, size_t length) in iova_bitmap_set()
|
A D | vfio_iommu_type1.c | 90 dma_addr_t iova; /* Device address */ member 136 dma_addr_t iova; member 391 unsigned long iova) in vfio_iova_get_vfio_pfn() 836 dma_addr_t iova; in vfio_iommu_type1_pin_pages() local 896 dma_addr_t iova; in vfio_iommu_type1_pin_pages() local 1279 dma_addr_t iova = unmap->iova; in vfio_dma_do_unmap() local 1452 dma_addr_t iova = dma->iova; in vfio_pin_map_dma() local 1553 dma_addr_t iova = map->iova; in vfio_dma_do_map() local 1689 dma_addr_t iova; in vfio_iommu_replay() local 1774 dma_addr_t iova; in vfio_iommu_replay() local [all …]
|
/linux-6.3-rc2/drivers/fpga/ |
A D | dfl-afu-dma-region.c | 125 u64 iova, u64 size) in dma_region_check_iova() 245 afu_dma_region_find(struct dfl_feature_platform_data *pdata, u64 iova, u64 size) in afu_dma_region_find() 285 afu_dma_region_find_iova(struct dfl_feature_platform_data *pdata, u64 iova) in afu_dma_region_find_iova() 302 u64 user_addr, u64 length, u64 *iova) in afu_dma_map_region() 380 int afu_dma_unmap_region(struct dfl_feature_platform_data *pdata, u64 iova) in afu_dma_unmap_region()
|
/linux-6.3-rc2/drivers/gpu/drm/msm/ |
A D | msm_iommu.c | 35 unsigned long iova, phys_addr_t paddr, in calc_pgsize() 89 static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_unmap() 113 static int msm_iommu_pagetable_map(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_map() 206 static void msm_iommu_tlb_flush_walk(unsigned long iova, size_t size, in msm_iommu_tlb_flush_walk() 212 unsigned long iova, size_t granule, void *cookie) in msm_iommu_tlb_add_page() 302 unsigned long iova, int flags, void *arg) in msm_fault_handler() 334 static int msm_iommu_map(struct msm_mmu *mmu, uint64_t iova, in msm_iommu_map() 350 static int msm_iommu_unmap(struct msm_mmu *mmu, uint64_t iova, size_t len) in msm_iommu_unmap()
|
/linux-6.3-rc2/drivers/vdpa/vdpa_user/ |
A D | iova_domain.c | 104 u64 iova, u64 size, u64 paddr) in vduse_domain_map_bounce_page() 124 u64 iova, u64 size) in vduse_domain_unmap_bounce_page() 161 dma_addr_t iova, size_t size, in vduse_domain_bounce() 190 vduse_domain_get_coherent_page(struct vduse_iova_domain *domain, u64 iova) in vduse_domain_get_coherent_page() 211 vduse_domain_get_bounce_page(struct vduse_iova_domain *domain, u64 iova) in vduse_domain_get_bounce_page() 368 dma_addr_t iova, size_t size) in vduse_domain_free_iova() 384 dma_addr_t iova = vduse_domain_alloc_iova(iovad, size, limit); in vduse_domain_map_page() local 430 dma_addr_t iova = vduse_domain_alloc_iova(iovad, size, limit); in vduse_domain_alloc_coherent() local 488 unsigned long iova = vmf->pgoff << PAGE_SHIFT; in vduse_domain_mmap_fault() local
|
/linux-6.3-rc2/drivers/iommu/amd/ |
A D | io_pgtable_v2.c | 141 static u64 *v2_alloc_pte(u64 *pgd, unsigned long iova, in v2_alloc_pte() 205 unsigned long iova, unsigned long *page_size) in fetch_pte() 242 static int iommu_v2_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in iommu_v2_map_pages() 294 unsigned long iova, in iommu_v2_unmap_pages() 322 static phys_addr_t iommu_v2_iova_to_phys(struct io_pgtable_ops *ops, unsigned long iova) in iommu_v2_iova_to_phys() 345 static void v2_tlb_flush_walk(unsigned long iova, size_t size, in v2_tlb_flush_walk() 351 unsigned long iova, size_t granule, in v2_tlb_add_page()
|
A D | io_pgtable.c | 30 static void v1_tlb_flush_walk(unsigned long iova, size_t size, in v1_tlb_flush_walk() 36 unsigned long iova, size_t granule, in v1_tlb_add_page() 363 static int iommu_v1_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in iommu_v1_map_pages() 439 unsigned long iova, in iommu_v1_unmap_pages() 472 static phys_addr_t iommu_v1_iova_to_phys(struct io_pgtable_ops *ops, unsigned long iova) in iommu_v1_iova_to_phys()
|
/linux-6.3-rc2/tools/testing/selftests/iommu/ |
A D | iommufd_fail_nth.c | 232 __u64 iova; in TEST_FAIL_NTH() local 302 __u64 iova; in TEST_FAIL_NTH() local 341 __u64 iova; in TEST_FAIL_NTH() local 388 __u64 iova; in TEST_FAIL_NTH() local 467 __u64 iova; in TEST_FAIL_NTH() local 523 __u64 iova; in TEST_FAIL_NTH() local
|
A D | iommufd_utils.h | 145 size_t length, __u64 *iova, unsigned int flags) in _test_ioctl_ioas_map() 182 #define test_ioctl_ioas_map_fixed(buffer, length, iova) \ argument 193 #define test_err_ioctl_ioas_map_fixed(_errno, buffer, length, iova) \ argument 205 static int _test_ioctl_ioas_unmap(int fd, unsigned int ioas_id, uint64_t iova, in _test_ioctl_ioas_unmap() 221 #define test_ioctl_ioas_unmap(iova, length) \ argument 225 #define test_ioctl_ioas_unmap_id(ioas_id, iova, length) \ argument 229 #define test_err_ioctl_ioas_unmap(_errno, iova, length) \ argument
|
/linux-6.3-rc2/drivers/media/platform/nvidia/tegra-vde/ |
A D | iommu.c | 24 struct iova *iova; in tegra_vde_iommu_map() local 51 void tegra_vde_iommu_unmap(struct tegra_vde *vde, struct iova *iova) in tegra_vde_iommu_unmap() 64 struct iova *iova; in tegra_vde_iommu_init() local
|
/linux-6.3-rc2/drivers/iommu/iommufd/ |
A D | selftest.c | 45 u64 *iova) in iommufd_test_syz_conv_iova() 70 unsigned int ioas_id, u64 *iova, u32 *flags) in iommufd_test_syz_conv_iova_id() 134 unsigned long iova, phys_addr_t paddr, in mock_domain_map_pages() 183 unsigned long iova, size_t pgsize, in mock_domain_unmap_pages() 227 dma_addr_t iova) in mock_domain_iova_to_phys() 337 unsigned int mockpt_id, unsigned long iova, in iommufd_test_md_check_pa() 431 unsigned long iova; member 453 static void iommufd_test_access_unmap(void *data, unsigned long iova, in iommufd_test_access_unmap() 624 unsigned int access_id, unsigned long iova, in iommufd_test_access_pages() 719 unsigned int access_id, unsigned long iova, in iommufd_test_access_rw()
|
A D | io_pagetable.c | 32 unsigned long iova, in iopt_area_contig_init() 108 static int iopt_alloc_iova(struct io_pagetable *iopt, unsigned long *iova, in iopt_alloc_iova() 163 static int iopt_check_iova(struct io_pagetable *iopt, unsigned long iova, in iopt_check_iova() 190 struct iopt_pages *pages, unsigned long iova, in iopt_insert_area() 230 unsigned long iova; in iopt_alloc_area_pages() local 386 unsigned long *iova, void __user *uptr, in iopt_map_user_pages() 415 int iopt_get_pages(struct io_pagetable *iopt, unsigned long iova, in iopt_get_pages() 537 int iopt_unmap_iova(struct io_pagetable *iopt, unsigned long iova, in iopt_unmap_iova() 976 static int iopt_area_split(struct iopt_area *area, unsigned long iova) in iopt_area_split()
|
/linux-6.3-rc2/drivers/staging/media/ipu3/ |
A D | ipu3-mmu.c | 154 static inline void address_to_pte_idx(unsigned long iova, u32 *l1pt_idx, in address_to_pte_idx() 210 static int __imgu_mmu_map(struct imgu_mmu *mmu, unsigned long iova, in __imgu_mmu_map() 251 int imgu_mmu_map(struct imgu_mmu_info *info, unsigned long iova, in imgu_mmu_map() 299 size_t imgu_mmu_map_sg(struct imgu_mmu_info *info, unsigned long iova, in imgu_mmu_map_sg() 339 unsigned long iova, size_t size) in __imgu_mmu_unmap() 379 size_t imgu_mmu_unmap(struct imgu_mmu_info *info, unsigned long iova, in imgu_mmu_unmap()
|
/linux-6.3-rc2/drivers/gpu/drm/etnaviv/ |
A D | etnaviv_mmu.c | 17 unsigned long iova, size_t size) in etnaviv_context_unmap() 40 unsigned long iova, phys_addr_t paddr, in etnaviv_context_map() 72 static int etnaviv_iommu_map(struct etnaviv_iommu_context *context, u32 iova, in etnaviv_iommu_map() 104 static void etnaviv_iommu_unmap(struct etnaviv_iommu_context *context, u32 iova, in etnaviv_iommu_unmap() 293 u32 iova; in etnaviv_iommu_map_gem() local
|