Home
last modified time | relevance | path

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

12345678910>>...12

/kernel/linux/linux-6.6/drivers/iommu/
Dtegra-gart.c60 #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()
167 static inline int __gart_iommu_map(struct gart_device *gart, unsigned long iova, in __gart_iommu_map()
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()
[all …]
Diova.c152 iova_insert_rbtree(struct rb_root *root, struct iova *iova, in iova_insert_rbtree()
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
358 static void remove_iova(struct iova_domain *iovad, struct iova *iova) in remove_iova()
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
[all …]
Dio-pgtable-dart.c124 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()
Dtegra-smmu.c156 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()
531 static void tegra_smmu_set_pde(struct tegra_smmu_as *as, unsigned long iova, in tegra_smmu_set_pde()
552 static u32 *tegra_smmu_pte_offset(struct page *pt_page, unsigned long iova) in tegra_smmu_pte_offset()
559 static u32 *tegra_smmu_pte_lookup(struct tegra_smmu_as *as, unsigned long iova, in tegra_smmu_pte_lookup()
577 static u32 *as_get_pte(struct tegra_smmu_as *as, dma_addr_t iova, in as_get_pte()
615 static void tegra_smmu_pte_get_use(struct tegra_smmu_as *as, unsigned long iova) in tegra_smmu_pte_get_use()
622 static void tegra_smmu_pte_put_use(struct tegra_smmu_as *as, unsigned long iova) in tegra_smmu_pte_put_use()
[all …]
Dsun50i-iommu.c165 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()
175 static u32 sun50i_iova_get_page_offset(dma_addr_t iova) in sun50i_iova_get_page_offset()
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()
591 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map()
624 static size_t sun50i_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_unmap()
[all …]
/kernel/linux/linux-5.10/drivers/iommu/
Dtegra-gart.c60 #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()
167 static inline int __gart_iommu_map(struct gart_device *gart, unsigned long iova, in __gart_iommu_map()
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()
[all …]
Diova.c154 iova_insert_rbtree(struct rb_root *root, struct iova *iova, in iova_insert_rbtree()
240 void free_iova_mem(struct iova *iova) in free_iova_mem()
325 struct iova *iova = rb_entry(node, struct iova, node); in private_find_iova() local
338 static void private_free_iova(struct iova_domain *iovad, struct iova *iova) in private_free_iova()
356 struct iova *iova; in find_iova() local
373 __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
393 struct iova *iova = find_iova(iovad, pfn); in free_iova() local
595 struct iova *iova, *tmp; in put_iova_domain() local
608 struct iova *iova = rb_entry(node, struct iova, node); in __is_range_overlap() local
618 struct iova *iova; in alloc_and_init_iova() local
[all …]
Dexynos-iommu.c99 #define section_offs(iova) (iova & (SECT_SIZE - 1)) argument
101 #define lpage_offs(iova) (iova & (LPAGE_SIZE - 1)) argument
103 #define spage_offs(iova) (iova & (SPAGE_SIZE - 1)) argument
108 static u32 lv1ent_offset(sysmmu_iova_t iova) in lv1ent_offset()
113 static u32 lv2ent_offset(sysmmu_iova_t iova) in lv2ent_offset()
183 static sysmmu_pte_t *section_entry(sysmmu_pte_t *pgtable, sysmmu_iova_t iova) in section_entry()
188 static sysmmu_pte_t *page_entry(sysmmu_pte_t *sent, sysmmu_iova_t iova) in page_entry()
316 sysmmu_iova_t iova, unsigned int num_inv) in __sysmmu_tlb_invalidate_entry()
515 sysmmu_iova_t iova) in sysmmu_tlb_invalidate_flpdcache()
535 sysmmu_iova_t iova, size_t size) in sysmmu_tlb_invalidate_entry()
[all …]
Dtegra-smmu.c155 static unsigned int iova_pd_index(unsigned long iova) in iova_pd_index()
160 static unsigned int iova_pt_index(unsigned long iova) in iova_pt_index()
222 unsigned long iova) in smmu_flush_tlb_section()
237 unsigned long iova) in smmu_flush_tlb_group()
536 static void tegra_smmu_set_pde(struct tegra_smmu_as *as, unsigned long iova, in tegra_smmu_set_pde()
557 static u32 *tegra_smmu_pte_offset(struct page *pt_page, unsigned long iova) in tegra_smmu_pte_offset()
564 static u32 *tegra_smmu_pte_lookup(struct tegra_smmu_as *as, unsigned long iova, in tegra_smmu_pte_lookup()
582 static u32 *as_get_pte(struct tegra_smmu_as *as, dma_addr_t iova, in as_get_pte()
620 static void tegra_smmu_pte_get_use(struct tegra_smmu_as *as, unsigned long iova) in tegra_smmu_pte_get_use()
627 static void tegra_smmu_pte_put_use(struct tegra_smmu_as *as, unsigned long iova) in tegra_smmu_pte_put_use()
[all …]
/kernel/linux/linux-6.6/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()
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()
/kernel/linux/linux-5.10/include/linux/
Diova.h19 struct iova { struct
25 struct iova_magazine; argument
100 static inline unsigned long iova_size(struct iova *iova) in iova_size()
115 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset()
125 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
130 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
181 static inline void free_iova_mem(struct iova *iova) in free_iova_mem()
189 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
262 struct iova *iova, in split_and_remove_iova()
/kernel/linux/linux-6.6/drivers/vfio/
Diova_bitmap.c36 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()
238 struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, in iova_bitmap_alloc()
317 unsigned long iova = iova_bitmap_mapped_iova(bitmap); in iova_bitmap_mapped_length() local
350 unsigned long iova = iova_bitmap_mapped_length(bitmap) - 1; in iova_bitmap_advance() local
403 unsigned long iova, size_t length) in iova_bitmap_set()
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()
621 dma_addr_t iova = vaddr - dma->vaddr + dma->iova; in vfio_pin_pages_remote() local
724 static long vfio_unpin_pages_remote(struct vfio_dma *dma, dma_addr_t iova, in vfio_unpin_pages_remote()
779 static int vfio_unpin_page_external(struct vfio_dma *dma, dma_addr_t iova, in vfio_unpin_page_external()
839 dma_addr_t iova; in vfio_iommu_type1_pin_pages() local
[all …]
/kernel/linux/linux-6.6/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()
129 int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, in rxe_mr_init_user()
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()
[all …]
/kernel/linux/linux-6.6/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()
/kernel/linux/linux-5.10/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()
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/
Dmsm_iommu.c32 static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_unmap()
51 static int msm_iommu_pagetable_map(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_map()
129 static void msm_iommu_tlb_flush_walk(unsigned long iova, size_t size, in msm_iommu_tlb_flush_walk()
135 unsigned long iova, size_t granule, void *cookie) in msm_iommu_tlb_add_page()
217 unsigned long iova, int flags, void *arg) in msm_fault_handler()
233 static int msm_iommu_map(struct msm_mmu *mmu, uint64_t iova, in msm_iommu_map()
249 static int msm_iommu_unmap(struct msm_mmu *mmu, uint64_t iova, size_t len) in msm_iommu_unmap()
/kernel/linux/linux-6.6/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
/kernel/linux/linux-6.6/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
/kernel/linux/linux-5.10/drivers/staging/media/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
/kernel/linux/linux-6.6/drivers/iommu/amd/
Dio_pgtable_v2.c135 static u64 *v2_alloc_pte(int nid, u64 *pgd, unsigned long iova, in v2_alloc_pte()
199 unsigned long iova, unsigned long *page_size) in fetch_pte()
236 static int iommu_v2_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in iommu_v2_map_pages()
289 unsigned long iova, in iommu_v2_unmap_pages()
317 static phys_addr_t iommu_v2_iova_to_phys(struct io_pgtable_ops *ops, unsigned long iova) in iommu_v2_iova_to_phys()
340 static void v2_tlb_flush_walk(unsigned long iova, size_t size, in v2_tlb_flush_walk()
346 unsigned long iova, size_t granule, in v2_tlb_add_page()
/kernel/linux/linux-6.6/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()
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
/kernel/linux/linux-5.10/drivers/vfio/
Dvfio_iommu_type1.c90 dma_addr_t iova; /* Device address */ member
126 dma_addr_t iova; /* Device address */ member
133 dma_addr_t iova; member
298 static struct vfio_pfn *vfio_find_vpfn(struct vfio_dma *dma, dma_addr_t iova) in vfio_find_vpfn()
342 static int vfio_add_to_pfn_list(struct vfio_dma *dma, dma_addr_t iova, in vfio_add_to_pfn_list()
366 unsigned long iova) in vfio_iova_get_vfio_pfn()
568 dma_addr_t iova = vaddr - dma->vaddr + dma->iova; in vfio_pin_pages_remote() local
642 static long vfio_unpin_pages_remote(struct vfio_dma *dma, dma_addr_t iova, in vfio_unpin_pages_remote()
697 static int vfio_unpin_page_external(struct vfio_dma *dma, dma_addr_t iova, in vfio_unpin_page_external()
750 dma_addr_t iova; in vfio_iommu_type1_pin_pages() local
[all …]
/kernel/linux/linux-6.6/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()
/kernel/linux/linux-5.10/drivers/infiniband/sw/rxe/
Drxe_mr.c27 int mem_check_range(struct rxe_mem *mem, u64 iova, size_t length) in mem_check_range()
127 u64 length, u64 iova, int access, struct ib_udata *udata, in rxe_mem_init_user()
232 u64 iova, in lookup_iova()
270 void *iova_to_vaddr(struct rxe_mem *mem, u64 iova, int length) in iova_to_vaddr()
311 int rxe_mem_copy(struct rxe_mem *mem, u64 iova, void *addr, int length, in rxe_mem_copy()
416 u64 iova; in copy_data() local

12345678910>>...12