Home
last modified time | relevance | path

Searched defs:iova (Results 1 – 25 of 163) sorted by relevance

1234567

/linux-6.12.1/include/linux/
Diova.h18 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()
73 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
78 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
119 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
Diommufd.h84 unsigned long iova, in iommufd_access_pin_pages()
93 unsigned long iova, in iommufd_access_unpin_pages()
98 static inline int iommufd_access_rw(struct iommufd_access *access, unsigned long iova, in iommufd_access_rw()
/linux-6.12.1/drivers/iommu/iommufd/
Diova_bitmap.c36 unsigned long iova; member
115 unsigned long iova; member
130 static unsigned long iova_bitmap_offset_to_index(struct iova_bitmap *bitmap, in iova_bitmap_offset_to_index()
244 struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, in iova_bitmap_alloc()
322 unsigned long iova = iova_bitmap_mapped_iova(bitmap); in iova_bitmap_mapped_length() local
344 unsigned long iova, size_t length) in iova_bitmap_mapped_range()
357 unsigned long iova) in iova_bitmap_advance_to()
403 unsigned long iova, size_t length) in iova_bitmap_set()
Dselftest.c68 u64 *iova) in __iommufd_test_syz_conv_iova()
93 u64 *iova) in iommufd_test_syz_conv_iova()
108 unsigned int ioas_id, u64 *iova, u32 *flags) in iommufd_test_syz_conv_iova_id()
214 unsigned long iova, size_t page_size, in mock_test_and_clear_dirty()
242 unsigned long iova, size_t size, in mock_domain_read_and_clear_dirty()
377 unsigned long iova, phys_addr_t paddr, in mock_domain_map_pages()
429 unsigned long iova, size_t pgsize, in mock_domain_unmap_pages()
480 dma_addr_t iova) in mock_domain_iova_to_phys()
854 unsigned int mockpt_id, unsigned long iova, in iommufd_test_md_check_pa()
975 unsigned long iova; member
[all …]
Dio_pagetable.c33 unsigned long iova, in iopt_area_contig_init()
109 static int iopt_alloc_iova(struct io_pagetable *iopt, unsigned long *iova, in iopt_alloc_iova()
172 static int iopt_check_iova(struct io_pagetable *iopt, unsigned long iova, in iopt_check_iova()
199 struct iopt_pages *pages, unsigned long iova, in iopt_insert_area()
251 unsigned long iova; in iopt_alloc_area_pages() local
407 unsigned long *iova, void __user *uptr, in iopt_map_user_pages()
444 unsigned long iova, size_t length, in __iommu_read_and_clear_dirty()
607 int iopt_get_pages(struct io_pagetable *iopt, unsigned long iova, in iopt_get_pages()
737 int iopt_unmap_iova(struct io_pagetable *iopt, unsigned long iova, in iopt_unmap_iova()
1176 static int iopt_area_split(struct iopt_area *area, unsigned long iova) in iopt_area_split()
/linux-6.12.1/drivers/media/pci/intel/ipu6/
Dipu6-mmu.c99 u32 iova = (phys_addr_t)l1_idx << ISP_L1PT_SHIFT; in page_table_dump() local
255 static int l2_map(struct ipu6_mmu_info *mmu_info, unsigned long iova, in l2_map()
326 static int __ipu6_mmu_map(struct ipu6_mmu_info *mmu_info, unsigned long iova, in __ipu6_mmu_map()
339 static size_t l2_unmap(struct ipu6_mmu_info *mmu_info, unsigned long iova, in l2_unmap()
380 unsigned long iova, size_t size) in __ipu6_mmu_unmap()
388 struct iova *iova; in allocate_trash_buffer() local
607 dma_addr_t iova) in ipu6_mmu_iova_to_phys()
650 size_t ipu6_mmu_unmap(struct ipu6_mmu_info *mmu_info, unsigned long iova, in ipu6_mmu_unmap()
692 int ipu6_mmu_map(struct ipu6_mmu_info *mmu_info, unsigned long iova, in ipu6_mmu_map()
749 struct iova *iova; in ipu6_mmu_destroy() local
Dipu6-dma.c29 static struct vm_info *get_vm_info(struct ipu6_mmu *mmu, dma_addr_t iova) in get_vm_info()
160 struct iova *iova; in ipu6_dma_alloc() local
246 struct iova *iova = find_iova(&mmu->dmap->iovad, PHYS_PFN(dma_handle)); in ipu6_dma_free() local
294 void *addr, dma_addr_t iova, size_t size, in ipu6_dma_mmap()
333 struct iova *iova = find_iova(&mmu->dmap->iovad, in ipu6_dma_unmap_sg() local
396 struct iova *iova; in ipu6_dma_map_sg() local
/linux-6.12.1/drivers/iommu/
Diova.c137 iova_insert_rbtree(struct rb_root *root, struct iova *iova, in iova_insert_rbtree()
233 static void free_iova_mem(struct iova *iova) in free_iova_mem()
282 struct iova *iova = to_iova(node); in private_find_iova() local
295 static void remove_iova(struct iova_domain *iovad, struct iova *iova) in remove_iova()
312 struct iova *iova; in find_iova() local
329 __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
351 struct iova *iova; in free_iova() local
447 struct iova *iova, *tmp; in put_iova_domain() local
461 struct iova *iova = to_iova(node); in __is_range_overlap() local
471 struct iova *iova; in alloc_and_init_iova() local
[all …]
Dio-pgtable-dart.c119 unsigned long iova, phys_addr_t paddr, in dart_init_pte()
168 static int dart_get_table(struct dart_io_pgtable *data, unsigned long iova) in dart_get_table()
174 static int dart_get_l1_index(struct dart_io_pgtable *data, unsigned long iova) in dart_get_l1_index()
181 static int dart_get_l2_index(struct dart_io_pgtable *data, unsigned long iova) in dart_get_l2_index()
188 static dart_iopte *dart_get_l2(struct dart_io_pgtable *data, unsigned long iova) in dart_get_l2()
231 static int dart_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in dart_map_pages()
292 static size_t dart_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova, in dart_unmap_pages()
336 unsigned long iova) in dart_iova_to_phys()
Dtegra-smmu.c158 static unsigned int iova_pd_index(unsigned long iova) in iova_pd_index()
163 static unsigned int iova_pt_index(unsigned long iova) in iova_pt_index()
225 unsigned long iova) in smmu_flush_tlb_section()
240 unsigned long iova) in smmu_flush_tlb_group()
546 static void tegra_smmu_set_pde(struct tegra_smmu_as *as, unsigned long iova, in tegra_smmu_set_pde()
567 static u32 *tegra_smmu_pte_offset(struct page *pt_page, unsigned long iova) in tegra_smmu_pte_offset()
574 static u32 *tegra_smmu_pte_lookup(struct tegra_smmu_as *as, unsigned long iova, in tegra_smmu_pte_lookup()
592 static u32 *as_get_pte(struct tegra_smmu_as *as, dma_addr_t iova, in as_get_pte()
630 static void tegra_smmu_pte_get_use(struct tegra_smmu_as *as, unsigned long iova) in tegra_smmu_pte_get_use()
637 static void tegra_smmu_pte_put_use(struct tegra_smmu_as *as, unsigned long iova) in tegra_smmu_pte_put_use()
[all …]
Dsun50i-iommu.c166 static u32 sun50i_iova_get_dte_index(dma_addr_t iova) in sun50i_iova_get_dte_index()
171 static u32 sun50i_iova_get_pte_index(dma_addr_t iova) in sun50i_iova_get_pte_index()
176 static u32 sun50i_iova_get_page_offset(dma_addr_t iova) in sun50i_iova_get_page_offset()
302 unsigned long iova) in sun50i_iommu_zap_iova()
319 unsigned long iova) in sun50i_iommu_zap_ptw_cache()
335 unsigned long iova, size_t size) in sun50i_iommu_zap_range()
407 unsigned long iova, size_t size) in sun50i_iommu_iotlb_sync_map()
557 dma_addr_t iova, gfp_t gfp) in sun50i_dte_get_page_table()
595 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map()
638 static size_t sun50i_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_unmap()
[all …]
Dexynos-iommu.c100 #define section_offs(iova) (iova & (SECT_SIZE - 1)) argument
102 #define lpage_offs(iova) (iova & (LPAGE_SIZE - 1)) argument
104 #define spage_offs(iova) (iova & (SPAGE_SIZE - 1)) argument
109 static u32 lv1ent_offset(sysmmu_iova_t iova) in lv1ent_offset()
114 static u32 lv2ent_offset(sysmmu_iova_t iova) in lv2ent_offset()
180 static sysmmu_pte_t *section_entry(sysmmu_pte_t *pgtable, sysmmu_iova_t iova) in section_entry()
185 static sysmmu_pte_t *page_entry(sysmmu_pte_t *sent, sysmmu_iova_t iova) in page_entry()
454 sysmmu_iova_t iova, unsigned int num_inv) in __sysmmu_tlb_invalidate_entry()
672 sysmmu_iova_t iova) in sysmmu_tlb_invalidate_flpdcache()
692 sysmmu_iova_t iova, size_t size) in sysmmu_tlb_invalidate_entry()
[all …]
Drockchip-iommu.c321 static u32 rk_iova_dte_index(dma_addr_t iova) in rk_iova_dte_index()
326 static u32 rk_iova_pte_index(dma_addr_t iova) in rk_iova_pte_index()
331 static u32 rk_iova_page_offset(dma_addr_t iova) in rk_iova_page_offset()
368 dma_addr_t iova; in rk_iommu_zap_lines() local
534 static void log_iova(struct rk_iommu *iommu, int index, dma_addr_t iova) in log_iova()
586 dma_addr_t iova; in rk_iommu_irq() local
651 dma_addr_t iova) in rk_iommu_iova_to_phys()
679 dma_addr_t iova, size_t size) in rk_iommu_zap_iova()
708 dma_addr_t iova, size_t size) in rk_iommu_zap_iova_first_last()
717 dma_addr_t iova) in rk_dte_get_page_table()
[all …]
Dio-pgtable-arm-v7s.c432 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()
595 unsigned long iova, int idx, int lvl, in arm_v7s_split_cont()
622 unsigned long iova, size_t size, in arm_v7s_split_blk_unmap()
667 unsigned long iova, size_t size, int lvl, in __arm_v7s_unmap()
737 static size_t arm_v7s_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova, in arm_v7s_unmap_pages()
760 unsigned long iova) in arm_v7s_iova_to_phys()
902 static void __init dummy_tlb_flush(unsigned long iova, size_t size, in dummy_tlb_flush()
910 unsigned long iova, size_t granule, in dummy_tlb_add_page()
[all …]
/linux-6.12.1/drivers/infiniband/sw/rxe/
Drxe_mr.c27 int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length) in mr_check_range()
75 static unsigned long rxe_mr_iova_to_index(struct rxe_mr *mr, u64 iova) in rxe_mr_iova_to_index()
80 static unsigned long rxe_mr_iova_to_page_offset(struct rxe_mr *mr, u64 iova) in rxe_mr_iova_to_page_offset()
245 static int rxe_mr_copy_xarray(struct rxe_mr *mr, u64 iova, void *addr, in rxe_mr_copy_xarray()
304 int rxe_mr_copy(struct rxe_mr *mr, u64 iova, void *addr, in rxe_mr_copy()
345 u64 iova; in copy_data() local
424 int rxe_flush_pmem_iova(struct rxe_mr *mr, u64 iova, unsigned int length) in rxe_flush_pmem_iova()
471 int rxe_mr_do_atomic_op(struct rxe_mr *mr, u64 iova, int opcode, in rxe_mr_do_atomic_op()
529 int rxe_mr_do_atomic_write(struct rxe_mr *mr, u64 iova, u64 value) in rxe_mr_do_atomic_write()
577 int rxe_mr_do_atomic_write(struct rxe_mr *mr, u64 iova, u64 value) in rxe_mr_do_atomic_write()
/linux-6.12.1/tools/testing/selftests/iommu/
Diommufd_fail_nth.c234 __u64 iova; in TEST_FAIL_NTH() local
304 __u64 iova; in TEST_FAIL_NTH() local
341 __u64 iova; in TEST_FAIL_NTH() local
386 __u64 iova; in TEST_FAIL_NTH() local
465 __u64 iova; in TEST_FAIL_NTH() local
521 __u64 iova; in TEST_FAIL_NTH() local
585 __u64 iova; in TEST_FAIL_NTH() local
Diommufd_utils.h305 __u64 iova, size_t page_size, in _test_cmd_get_dirty_bitmap()
325 #define test_cmd_get_dirty_bitmap(fd, hwpt_id, length, iova, page_size, \ argument
331 __u64 iova, size_t page_size, in _test_cmd_mock_domain_set_dirty()
355 #define test_cmd_mock_domain_set_dirty(fd, hwpt_id, length, iova, page_size, \ argument
362 __u64 iova, size_t page_size, in _test_mock_dirty_bitmaps()
411 #define test_mock_dirty_bitmaps(hwpt_id, length, iova, page_size, pte_size,\ argument
493 size_t length, __u64 *iova, unsigned int flags) in _test_ioctl_ioas_map()
530 #define test_ioctl_ioas_map_fixed(buffer, length, iova) \ argument
541 #define test_ioctl_ioas_map_fixed_id(ioas_id, buffer, length, iova) \ argument
552 #define test_err_ioctl_ioas_map_fixed(_errno, buffer, length, iova) \ argument
[all …]
/linux-6.12.1/drivers/fpga/
Ddfl-afu-dma-region.c125 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.12.1/drivers/vfio/
Dvfio_iommu_type1.c90 dma_addr_t iova; /* Device address */ member
129 dma_addr_t iova; /* Device address */ member
136 dma_addr_t iova; member
323 static struct vfio_pfn *vfio_find_vpfn(struct vfio_dma *dma, dma_addr_t iova) in vfio_find_vpfn()
367 static int vfio_add_to_pfn_list(struct vfio_dma *dma, dma_addr_t iova, in vfio_add_to_pfn_list()
391 unsigned long iova) in vfio_iova_get_vfio_pfn()
605 dma_addr_t iova = vaddr - dma->vaddr + dma->iova; in vfio_pin_pages_remote() local
708 static long vfio_unpin_pages_remote(struct vfio_dma *dma, dma_addr_t iova, in vfio_unpin_pages_remote()
763 static int vfio_unpin_page_external(struct vfio_dma *dma, dma_addr_t iova, in vfio_unpin_page_external()
823 dma_addr_t iova; in vfio_iommu_type1_pin_pages() local
[all …]
/linux-6.12.1/drivers/gpu/drm/msm/
Dmsm_iommu.c37 unsigned long iova, phys_addr_t paddr, in calc_pgsize()
91 static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_unmap()
115 static int msm_iommu_pagetable_map(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_map()
219 static void msm_iommu_tlb_flush_walk(unsigned long iova, size_t size, in msm_iommu_tlb_flush_walk()
236 unsigned long iova, size_t granule, void *cookie) in msm_iommu_tlb_add_page()
323 unsigned long iova, int flags, void *arg) in msm_fault_handler()
361 static int msm_iommu_map(struct msm_mmu *mmu, uint64_t iova, in msm_iommu_map()
377 static int msm_iommu_unmap(struct msm_mmu *mmu, uint64_t iova, size_t len) in msm_iommu_unmap()
/linux-6.12.1/drivers/vdpa/vdpa_user/
Diova_domain.c104 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()
194 vduse_domain_get_coherent_page(struct vduse_iova_domain *domain, u64 iova) in vduse_domain_get_coherent_page()
215 vduse_domain_get_bounce_page(struct vduse_iova_domain *domain, u64 iova) in vduse_domain_get_bounce_page()
371 dma_addr_t iova, size_t size) in vduse_domain_free_iova()
407 dma_addr_t iova = vduse_domain_alloc_iova(iovad, size, limit); in vduse_domain_map_page() local
454 dma_addr_t iova = vduse_domain_alloc_iova(iovad, size, limit); in vduse_domain_alloc_coherent() local
512 unsigned long iova = vmf->pgoff << PAGE_SHIFT; in vduse_domain_mmap_fault() local
/linux-6.12.1/drivers/media/platform/nvidia/tegra-vde/
Diommu.c24 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.12.1/drivers/staging/media/ipu3/
Dipu3-mmu.c154 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.12.1/drivers/iommu/amd/
Dio_pgtable_v2.c131 static u64 *v2_alloc_pte(int nid, u64 *pgd, unsigned long iova, in v2_alloc_pte()
195 unsigned long iova, unsigned long *page_size) in fetch_pte()
232 static int iommu_v2_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in iommu_v2_map_pages()
282 unsigned long iova, in iommu_v2_unmap_pages()
310 static phys_addr_t iommu_v2_iova_to_phys(struct io_pgtable_ops *ops, unsigned long iova) in iommu_v2_iova_to_phys()
/linux-6.12.1/drivers/gpu/drm/etnaviv/
Detnaviv_mmu.c17 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

1234567