/kernel/linux/linux-5.10/drivers/iommu/arm/arm-smmu/ |
H A D | qcom_iommu.c | 159 static void qcom_iommu_tlb_inv_range_nosync(unsigned long iova, size_t size, in qcom_iommu_tlb_inv_range_nosync() argument 172 iova = (iova >> 12) << 12; in qcom_iommu_tlb_inv_range_nosync() 173 iova |= ctx->asid; in qcom_iommu_tlb_inv_range_nosync() 175 iommu_writel(ctx, reg, iova); in qcom_iommu_tlb_inv_range_nosync() 176 iova += granule; in qcom_iommu_tlb_inv_range_nosync() 181 static void qcom_iommu_tlb_flush_walk(unsigned long iova, size_t size, in qcom_iommu_tlb_flush_walk() argument 184 qcom_iommu_tlb_inv_range_nosync(iova, size, granule, false, cookie); in qcom_iommu_tlb_flush_walk() 188 static void qcom_iommu_tlb_flush_leaf(unsigned long iova, size_t size, in qcom_iommu_tlb_flush_leaf() argument 191 qcom_iommu_tlb_inv_range_nosync(iova, siz in qcom_iommu_tlb_flush_leaf() 195 qcom_iommu_tlb_add_page(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) qcom_iommu_tlb_add_page() argument 213 u64 iova; qcom_iommu_fault() local 442 qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t size, int prot, gfp_t gfp) qcom_iommu_map() argument 459 qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size, struct iommu_iotlb_gather *gather) qcom_iommu_unmap() argument 503 qcom_iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) qcom_iommu_iova_to_phys() argument [all...] |
H A D | arm-smmu.c | 280 static void arm_smmu_tlb_inv_range_s1(unsigned long iova, size_t size, in arm_smmu_tlb_inv_range_s1() argument 292 iova = (iova >> 12) << 12; in arm_smmu_tlb_inv_range_s1() 293 iova |= cfg->asid; in arm_smmu_tlb_inv_range_s1() 295 arm_smmu_cb_write(smmu, idx, reg, iova); in arm_smmu_tlb_inv_range_s1() 296 iova += granule; in arm_smmu_tlb_inv_range_s1() 299 iova >>= 12; in arm_smmu_tlb_inv_range_s1() 300 iova |= (u64)cfg->asid << 48; in arm_smmu_tlb_inv_range_s1() 302 arm_smmu_cb_writeq(smmu, idx, reg, iova); in arm_smmu_tlb_inv_range_s1() 303 iova in arm_smmu_tlb_inv_range_s1() 308 arm_smmu_tlb_inv_range_s2(unsigned long iova, size_t size, size_t granule, void *cookie, int reg) arm_smmu_tlb_inv_range_s2() argument 328 arm_smmu_tlb_inv_walk_s1(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_walk_s1() argument 336 arm_smmu_tlb_inv_leaf_s1(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_leaf_s1() argument 344 arm_smmu_tlb_add_page_s1(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) arm_smmu_tlb_add_page_s1() argument 352 arm_smmu_tlb_inv_walk_s2(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_walk_s2() argument 360 arm_smmu_tlb_inv_leaf_s2(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_leaf_s2() argument 368 arm_smmu_tlb_add_page_s2(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) arm_smmu_tlb_add_page_s2() argument 376 arm_smmu_tlb_inv_any_s2_v1(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_any_s2_v1() argument 388 arm_smmu_tlb_add_page_s2_v1(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) arm_smmu_tlb_add_page_s2_v1() argument 425 unsigned long iova; arm_smmu_context_fault() local 1210 arm_smmu_map(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t size, int prot, gfp_t gfp) arm_smmu_map() argument 1227 arm_smmu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size, struct iommu_iotlb_gather *gather) arm_smmu_unmap() argument 1274 arm_smmu_iova_to_phys_hard(struct iommu_domain *domain, dma_addr_t iova) arm_smmu_iova_to_phys_hard() argument 1326 arm_smmu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) arm_smmu_iova_to_phys() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/ |
H A D | msm_gem_submit.c | 109 submit->bos[i].iova = submit_bo.presumed; in submit_lookup_objects() 165 submit->bos[i].iova = 0; in submit_unlock_unpin_bo() 259 uint64_t iova; in submit_pin_objects() local 263 submit->aspace, &iova); in submit_pin_objects() 270 if (iova == submit->bos[i].iova) { in submit_pin_objects() 273 submit->bos[i].iova = iova; in submit_pin_objects() 274 /* iova changed, so address in cmdstream is not valid: */ in submit_pin_objects() 284 struct msm_gem_object **obj, uint64_t *iova, boo in submit_bo() 283 submit_bo(struct msm_gem_submit *submit, uint32_t idx, struct msm_gem_object **obj, uint64_t *iova, bool *valid) submit_bo() argument 334 uint64_t iova; submit_reloc() local 716 uint64_t iova; msm_ioctl_gem_submit() local [all...] |
/kernel/linux/linux-6.6/drivers/iommu/iommufd/ |
H A D | io_pagetable.c | 32 unsigned long iova, in iopt_area_contig_init() 37 iter->cur_iova = iova; in iopt_area_contig_init() 39 iter->area = iopt_area_iter_first(iopt, iova, iova); in iopt_area_contig_init() 108 static int iopt_alloc_iova(struct io_pagetable *iopt, unsigned long *iova, in iopt_alloc_iova() argument 156 *iova = used_span.start_hole; in iopt_alloc_iova() 163 static int iopt_check_iova(struct io_pagetable *iopt, unsigned long iova, in iopt_check_iova() argument 170 if ((iova & (iopt->iova_alignment - 1))) in iopt_check_iova() 173 if (check_add_overflow(iova, length - 1, &last)) in iopt_check_iova() 177 if (iopt_reserved_iter_first(iopt, iova, las in iopt_check_iova() 30 iopt_area_contig_init(struct iopt_area_contig_iter *iter, struct io_pagetable *iopt, unsigned long iova, unsigned long last_iova) iopt_area_contig_init() argument 189 iopt_insert_area(struct io_pagetable *iopt, struct iopt_area *area, struct iopt_pages *pages, unsigned long iova, unsigned long start_byte, unsigned long length, int iommu_prot) iopt_insert_area() argument 242 unsigned long iova; iopt_alloc_area_pages() local 397 iopt_map_user_pages(struct iommufd_ctx *ictx, struct io_pagetable *iopt, unsigned long *iova, void __user *uptr, unsigned long length, int iommu_prot, unsigned int flags) iopt_map_user_pages() argument 427 iopt_get_pages(struct io_pagetable *iopt, unsigned long iova, unsigned long length, struct list_head *pages_list) iopt_get_pages() argument 557 iopt_unmap_iova(struct io_pagetable *iopt, unsigned long iova, unsigned long length, unsigned long *unmapped) iopt_unmap_iova() argument 996 iopt_area_split(struct iopt_area *area, unsigned long iova) iopt_area_split() argument [all...] |
H A D | ioas.c | 203 unsigned long iova = cmd->iova; in iommufd_ioas_map() local 213 if (cmd->iova >= ULONG_MAX || cmd->length >= ULONG_MAX) in iommufd_ioas_map() 222 rc = iopt_map_user_pages(ucmd->ictx, &ioas->iopt, &iova, in iommufd_ioas_map() 228 cmd->iova = iova; in iommufd_ioas_map() 242 unsigned long iova; in iommufd_ioas_copy() local 273 iova = cmd->dst_iova; in iommufd_ioas_copy() 274 rc = iopt_map_pages(&dst_ioas->iopt, &pages_list, cmd->length, &iova, in iommufd_ioas_copy() 279 cmd->dst_iova = iova; in iommufd_ioas_copy() [all...] |
/kernel/linux/linux-6.6/drivers/iommu/amd/ |
H A D | io_pgtable.c | 30 static void v1_tlb_flush_walk(unsigned long iova, size_t size, in v1_tlb_flush_walk() argument 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() argument 373 BUG_ON(!IS_ALIGNED(iova, pgsize)); in iommu_v1_map_pages() 382 pte = alloc_pte(dom, iova, pgsize, NULL, gfp, &updated); in iommu_v1_map_pages() 408 iova += pgsize; in iommu_v1_map_pages() 439 unsigned long iova, in iommu_v1_unmap_pages() 454 pte = fetch_pte(pgtable, iova, &unmap_size); in iommu_v1_unmap_pages() 465 iova = (iova in iommu_v1_unmap_pages() 35 v1_tlb_add_page(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) v1_tlb_add_page() argument 438 iommu_v1_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova, size_t pgsize, size_t pgcount, struct iommu_iotlb_gather *gather) iommu_v1_unmap_pages() argument 472 iommu_v1_iova_to_phys(struct io_pgtable_ops *ops, unsigned long iova) iommu_v1_iova_to_phys() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/marvell/octeontx2/af/ |
H A D | common.h | 44 dma_addr_t iova; member 68 &qmem->iova, GFP_KERNEL); in qmem_alloc() 74 aligned_addr = ALIGN((u64)qmem->iova, OTX2_ALIGN); in qmem_alloc() 75 qmem->align = (aligned_addr - qmem->iova); in qmem_alloc() 77 qmem->iova += qmem->align; in qmem_alloc() 89 qmem->iova - qmem->align); in qmem_free()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeontx2/af/ |
H A D | common.h | 40 dma_addr_t iova; member 63 qmem->base = dma_alloc_attrs(dev, qmem->alloc_sz, &qmem->iova, in qmem_alloc() 70 aligned_addr = ALIGN((u64)qmem->iova, OTX2_ALIGN); in qmem_alloc() 71 qmem->align = (aligned_addr - qmem->iova); in qmem_alloc() 73 qmem->iova += qmem->align; in qmem_alloc() 85 qmem->iova - qmem->align, in qmem_free()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | iova_bitmap.h | 14 unsigned long iova, size_t length, 17 struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, 24 unsigned long iova, size_t length);
|
/third_party/mesa3d/src/freedreno/drm/ |
H A D | freedreno_ringbuffer.h | 198 uint64_t iova; member 290 uint64_t iova = fd_bo_get_iova(bo) + offset; in OUT_RELOC() 293 iova >>= -shift; in OUT_RELOC() 295 iova <<= shift; in OUT_RELOC() 297 iova |= orval; in OUT_RELOC() 301 .iova = iova, in OUT_RELOC()
|
/third_party/mesa3d/src/freedreno/drm/virtio/ |
H A D | virtio_priv.h | 66 * the iova. Since the iova (vma on kernel side) is local to the 70 * de-duplication, we can safely assume that an iova has not yet 73 * The other complication with userspace allocated iova is that 75 * still using it's iova) until the submit retires. So a per-pipe 92 virtio_dev_free_iova(struct fd_device *dev, uint64_t iova, uint32_t size) in virtio_dev_free_iova() argument 97 util_vma_heap_free(&virtio_dev->address_space, iova, size); in virtio_dev_free_iova() 105 uint64_t iova; in virtio_dev_alloc_iova() local 108 iova = util_vma_heap_alloc(&virtio_dev->address_space, size, 0x1000); in virtio_dev_alloc_iova() 111 return iova; in virtio_dev_alloc_iova() [all...] |
/kernel/linux/linux-6.6/drivers/iommu/ |
H A D | dma-iommu.c | 20 #include <linux/iova.h> 38 dma_addr_t iova; member 257 pr_warn("iova flush queue initialization failed\n"); in iommu_dma_init_fq() 417 msi_page->iova = start; in cookie_init_hw_msi_region() 664 unsigned long shift, iova_len, iova; in iommu_dma_alloc_iova() local 691 iova = alloc_iova_fast(iovad, iova_len, in iommu_dma_alloc_iova() 693 if (iova) in iommu_dma_alloc_iova() 700 iova = alloc_iova_fast(iovad, iova_len, dma_limit >> shift, true); in iommu_dma_alloc_iova() 702 return (dma_addr_t)iova << shift; in iommu_dma_alloc_iova() 706 dma_addr_t iova, size_ in iommu_dma_free_iova() 705 iommu_dma_free_iova(struct iommu_dma_cookie *cookie, dma_addr_t iova, size_t size, struct iommu_iotlb_gather *gather) iommu_dma_free_iova() argument 752 dma_addr_t iova; __iommu_dma_map() local 845 dma_addr_t iova; __iommu_dma_alloc_noncontiguous() local 1040 dma_addr_t iova, dma_mask = dma_get_mask(dev); iommu_dma_map_page() local 1251 dma_addr_t iova; iommu_dma_map_sg() local 1662 dma_addr_t iova; iommu_dma_get_msi_page() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_txrx.c | 138 u64 iova, int len, struct nix_rx_parse_s *parse) in otx2_skb_add_frag() 144 va = phys_to_virt(otx2_iova_to_phys(pfvf->iommu_domain, iova)); in otx2_skb_add_frag() 162 otx2_dma_unmap_page(pfvf, iova - OTX2_HEAD_ROOM, in otx2_skb_add_frag() 464 u64 dma_addr, *iova = NULL; in otx2_sqe_add_sg() local 477 iova = (void *)sg + sizeof(*sg); in otx2_sqe_add_sg() 492 *iova++ = dma_addr; in otx2_sqe_add_sg() 561 int alg, u64 iova) in otx2_sqe_add_mem() 569 mem->addr = iova; in otx2_sqe_add_mem() 678 u64 *iova = NULL; in otx2_sqe_tso_add_sg() local 689 iova in otx2_sqe_tso_add_sg() 137 otx2_skb_add_frag(struct otx2_nic *pfvf, struct sk_buff *skb, u64 iova, int len, struct nix_rx_parse_s *parse) otx2_skb_add_frag() argument 560 otx2_sqe_add_mem(struct otx2_snd_queue *sq, int *offset, int alg, u64 iova) otx2_sqe_add_mem() argument 828 u64 iova; otx2_set_txtstamp() local 910 u64 iova, pa; otx2_cleanup_rx_cqes() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/msm/ |
H A D | msm_gem_submit.c | 148 submit->bos[i].iova = submit_bo.presumed; in submit_lookup_objects() 277 submit->bos[i].iova = 0; in submit_unlock_unpin_bo() 404 if (vma->iova == submit->bos[i].iova) { in submit_pin_objects() 407 submit->bos[i].iova = vma->iova; in submit_pin_objects() 408 /* iova changed, so address in cmdstream is not valid: */ in submit_pin_objects() 448 struct drm_gem_object **obj, uint64_t *iova, bool *valid) in submit_bo() 458 if (iova) in submit_bo() 459 *iova in submit_bo() 447 submit_bo(struct msm_gem_submit *submit, uint32_t idx, struct drm_gem_object **obj, uint64_t *iova, bool *valid) submit_bo() argument 496 uint64_t iova; submit_reloc() local 874 uint64_t iova; msm_ioctl_gem_submit() local [all...] |
H A D | msm_mmu.h | 14 int (*map)(struct msm_mmu *mmu, uint64_t iova, struct sg_table *sgt, 16 int (*unmap)(struct msm_mmu *mmu, uint64_t iova, size_t len); 30 int (*handler)(void *arg, unsigned long iova, int flags, void *data); 48 int (*handler)(void *arg, unsigned long iova, int flags, void *data)) in msm_mmu_set_fault_handler() 47 msm_mmu_set_fault_handler(struct msm_mmu *mmu, void *arg, int (*handler)(void *arg, unsigned long iova, int flags, void *data)) msm_mmu_set_fault_handler() argument
|
/kernel/linux/linux-6.6/drivers/gpu/drm/panfrost/ |
H A D | panfrost_mmu.c | 97 u64 iova, u64 size, u32 op) in mmu_hw_do_operation_locked() 103 lock_region(pfdev, as_nr, iova, size); in mmu_hw_do_operation_locked() 114 u64 iova, u64 size, u32 op) in mmu_hw_do_operation() 119 ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op); in mmu_hw_do_operation() 274 u64 iova, u64 size) in panfrost_mmu_flush_range() 283 mmu_hw_do_operation(pfdev, mmu, iova, size, AS_COMMAND_FLUSH_PT); in panfrost_mmu_flush_range() 289 u64 iova, int prot, struct sg_table *sgt) in mmu_map_sg() 294 u64 start_iova = iova; in mmu_map_sg() 300 dev_dbg(pfdev->dev, "map: as=%d, iova=%llx, paddr=%lx, len=%zx", mmu->as, iova, padd in mmu_map_sg() 96 mmu_hw_do_operation_locked(struct panfrost_device *pfdev, int as_nr, u64 iova, u64 size, u32 op) mmu_hw_do_operation_locked() argument 112 mmu_hw_do_operation(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size, u32 op) mmu_hw_do_operation() argument 272 panfrost_mmu_flush_range(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size) panfrost_mmu_flush_range() argument 288 mmu_map_sg(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, int prot, struct sg_table *sgt) mmu_map_sg() argument 353 u64 iova = mapping->mmnode.start << PAGE_SHIFT; panfrost_mmu_unmap() local 391 mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, void *cookie) mmu_tlb_flush_walk() argument [all...] |
/kernel/linux/linux-6.6/drivers/iommu/arm/arm-smmu/ |
H A D | qcom_iommu.c | 157 static void qcom_iommu_tlb_inv_range_nosync(unsigned long iova, size_t size, in qcom_iommu_tlb_inv_range_nosync() argument 170 iova = (iova >> 12) << 12; in qcom_iommu_tlb_inv_range_nosync() 171 iova |= ctx->asid; in qcom_iommu_tlb_inv_range_nosync() 173 iommu_writel(ctx, reg, iova); in qcom_iommu_tlb_inv_range_nosync() 174 iova += granule; in qcom_iommu_tlb_inv_range_nosync() 179 static void qcom_iommu_tlb_flush_walk(unsigned long iova, size_t size, in qcom_iommu_tlb_flush_walk() argument 182 qcom_iommu_tlb_inv_range_nosync(iova, size, granule, false, cookie); in qcom_iommu_tlb_flush_walk() 187 unsigned long iova, size_t granule, in qcom_iommu_tlb_add_page() 190 qcom_iommu_tlb_inv_range_nosync(iova, granul in qcom_iommu_tlb_add_page() 186 qcom_iommu_tlb_add_page(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) qcom_iommu_tlb_add_page() argument 203 u64 iova; qcom_iommu_fault() local 403 qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t pgsize, size_t pgcount, int prot, gfp_t gfp, size_t *mapped) qcom_iommu_map() argument 421 qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t pgsize, size_t pgcount, struct iommu_iotlb_gather *gather) qcom_iommu_unmap() argument 466 qcom_iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) qcom_iommu_iova_to_phys() argument [all...] |
H A D | arm-smmu.c | 261 static void arm_smmu_tlb_inv_range_s1(unsigned long iova, size_t size, in arm_smmu_tlb_inv_range_s1() argument 273 iova = (iova >> 12) << 12; in arm_smmu_tlb_inv_range_s1() 274 iova |= cfg->asid; in arm_smmu_tlb_inv_range_s1() 276 arm_smmu_cb_write(smmu, idx, reg, iova); in arm_smmu_tlb_inv_range_s1() 277 iova += granule; in arm_smmu_tlb_inv_range_s1() 280 iova >>= 12; in arm_smmu_tlb_inv_range_s1() 281 iova |= (u64)cfg->asid << 48; in arm_smmu_tlb_inv_range_s1() 283 arm_smmu_cb_writeq(smmu, idx, reg, iova); in arm_smmu_tlb_inv_range_s1() 284 iova in arm_smmu_tlb_inv_range_s1() 289 arm_smmu_tlb_inv_range_s2(unsigned long iova, size_t size, size_t granule, void *cookie, int reg) arm_smmu_tlb_inv_range_s2() argument 309 arm_smmu_tlb_inv_walk_s1(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_walk_s1() argument 324 arm_smmu_tlb_add_page_s1(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) arm_smmu_tlb_add_page_s1() argument 332 arm_smmu_tlb_inv_walk_s2(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_walk_s2() argument 340 arm_smmu_tlb_add_page_s2(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) arm_smmu_tlb_add_page_s2() argument 348 arm_smmu_tlb_inv_walk_s2_v1(unsigned long iova, size_t size, size_t granule, void *cookie) arm_smmu_tlb_inv_walk_s2_v1() argument 360 arm_smmu_tlb_add_page_s2_v1(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) arm_smmu_tlb_add_page_s2_v1() argument 394 unsigned long iova; arm_smmu_context_fault() local 1177 arm_smmu_map_pages(struct iommu_domain *domain, unsigned long iova, phys_addr_t paddr, size_t pgsize, size_t pgcount, int prot, gfp_t gfp, size_t *mapped) arm_smmu_map_pages() argument 1195 arm_smmu_unmap_pages(struct iommu_domain *domain, unsigned long iova, size_t pgsize, size_t pgcount, struct iommu_iotlb_gather *iotlb_gather) arm_smmu_unmap_pages() argument 1243 arm_smmu_iova_to_phys_hard(struct iommu_domain *domain, dma_addr_t iova) arm_smmu_iova_to_phys_hard() argument 1295 arm_smmu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) arm_smmu_iova_to_phys() argument [all...] |
/kernel/linux/linux-5.10/drivers/fpga/ |
H A D | dfl-afu.h | 48 * @iova: region IO virtual address. 56 u64 iova; member 99 u64 user_addr, u64 length, u64 *iova); 100 int afu_dma_unmap_region(struct dfl_feature_platform_data *pdata, u64 iova); 103 u64 iova, u64 size);
|
/kernel/linux/linux-6.6/drivers/fpga/ |
H A D | dfl-afu.h | 48 * @iova: region IO virtual address. 56 u64 iova; member 99 u64 user_addr, u64 length, u64 *iova); 100 int afu_dma_unmap_region(struct dfl_feature_platform_data *pdata, u64 iova); 103 u64 iova, u64 size);
|
/kernel/linux/linux-6.6/drivers/s390/cio/ |
H A D | vfio_ccw_cp.c | 45 * @len: number of pages that should be pinned from @iova 176 static bool page_array_iova_pinned(struct page_array *pa, u64 iova, u64 length) in page_array_iova_pinned() argument 178 u64 iova_pfn_start = iova >> PAGE_SHIFT; in page_array_iova_pinned() 179 u64 iova_pfn_end = (iova + length - 1) >> PAGE_SHIFT; in page_array_iova_pinned() 364 * @iova: guest physical address of the target ccw chain 375 static int ccwchain_calc_length(u64 iova, struct channel_program *cp) in ccwchain_calc_length() argument 391 if (!ccw_is_chain(ccw) && !is_tic_within_range(ccw, iova, cnt)) in ccwchain_calc_length() 564 u64 iova; in ccw_count_idaws() local 575 ret = vfio_dma_rw(vdev, ccw->cda, &iova, size, false); in ccw_count_idaws() 584 iova in ccw_count_idaws() 941 cp_iova_pinned(struct channel_program *cp, u64 iova, u64 length) cp_iova_pinned() argument [all...] |
/kernel/linux/linux-5.10/drivers/staging/media/ipu3/ |
H A D | ipu3-mmu.h | 30 int imgu_mmu_map(struct imgu_mmu_info *info, unsigned long iova, 32 size_t imgu_mmu_unmap(struct imgu_mmu_info *info, unsigned long iova, 34 size_t imgu_mmu_map_sg(struct imgu_mmu_info *info, unsigned long iova,
|
/kernel/linux/linux-6.6/drivers/staging/media/ipu3/ |
H A D | ipu3-mmu.h | 30 int imgu_mmu_map(struct imgu_mmu_info *info, unsigned long iova, 32 size_t imgu_mmu_unmap(struct imgu_mmu_info *info, unsigned long iova, 34 size_t imgu_mmu_map_sg(struct imgu_mmu_info *info, unsigned long iova,
|
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx5/ |
H A D | mr.c | 56 u64 iova, int access_flags, 1130 u64 length, int access_flags, u64 iova) in set_mr_fields() 1136 mr->ibmr.iova = iova; in set_mr_fields() 1141 u64 iova) in mlx5_umem_dmabuf_default_pgsz() 1144 * The alignment of iova has already been checked upon entering in mlx5_umem_dmabuf_default_pgsz() 1147 umem->iova = iova; in mlx5_umem_dmabuf_default_pgsz() 1152 struct ib_umem *umem, u64 iova, in alloc_cacheable_mr() 1164 page_size = mlx5_umem_dmabuf_default_pgsz(umem, iova); in alloc_cacheable_mr() 1129 set_mr_fields(struct mlx5_ib_dev *dev, struct mlx5_ib_mr *mr, u64 length, int access_flags, u64 iova) set_mr_fields() argument 1140 mlx5_umem_dmabuf_default_pgsz(struct ib_umem *umem, u64 iova) mlx5_umem_dmabuf_default_pgsz() argument 1151 alloc_cacheable_mr(struct ib_pd *pd, struct ib_umem *umem, u64 iova, int access_flags) alloc_cacheable_mr() argument 1205 reg_create(struct ib_pd *pd, struct ib_umem *umem, u64 iova, int access_flags, unsigned int page_size, bool populate) reg_create() argument 1388 create_real_mr(struct ib_pd *pd, struct ib_umem *umem, u64 iova, int access_flags) create_real_mr() argument 1431 create_user_odp_mr(struct ib_pd *pd, u64 start, u64 length, u64 iova, int access_flags, struct ib_udata *udata) create_user_odp_mr() argument 1489 mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, u64 iova, int access_flags, struct ib_udata *udata) mlx5_ib_reg_user_mr() argument 1603 can_use_umr_rereg_pas(struct mlx5_ib_mr *mr, struct ib_umem *new_umem, int new_access_flags, u64 iova, unsigned long *page_size) can_use_umr_rereg_pas() argument 1624 umr_rereg_pas(struct mlx5_ib_mr *mr, struct ib_pd *pd, int access_flags, int flags, struct ib_umem *new_umem, u64 iova, unsigned long page_size) umr_rereg_pas() argument 1671 mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start, u64 length, u64 iova, int new_access_flags, struct ib_pd *new_pd, struct ib_udata *udata) mlx5_ib_rereg_user_mr() argument 2477 u64 iova = pi_mr->data_iova; mlx5_ib_map_mtt_mr_sg_pi() local [all...] |
/kernel/linux/linux-5.10/drivers/vhost/ |
H A D | vdpa.c | 567 u64 iova, u64 size, u64 pa, u32 perm) in vhost_vdpa_map() 574 r = vhost_iotlb_add_range(dev->iotlb, iova, iova + size - 1, in vhost_vdpa_map() 580 r = ops->dma_map(vdpa, iova, size, pa, perm); in vhost_vdpa_map() 585 r = iommu_map(v->domain, iova, pa, size, in vhost_vdpa_map() 590 vhost_iotlb_del_range(dev->iotlb, iova, iova + size - 1); in vhost_vdpa_map() 597 static void vhost_vdpa_unmap(struct vhost_vdpa *v, u64 iova, u64 size) in vhost_vdpa_unmap() argument 603 vhost_vdpa_iotlb_unmap(v, iova, iova in vhost_vdpa_unmap() 566 vhost_vdpa_map(struct vhost_vdpa *v, u64 iova, u64 size, u64 pa, u32 perm) vhost_vdpa_map() argument 625 u64 iova = msg->iova; vhost_vdpa_process_iotlb_update() local [all...] |