Searched refs:iova (Results 51 - 75 of 249) sorted by relevance

12345678910

/linux-master/drivers/media/platform/mediatek/mdp3/
H A Dmdp_sm_mt8183.h53 u32 iova[IMG_MAX_PLANES]; member in struct:mdp_rdma_data_8183
87 u32 iova[IMG_MAX_PLANES]; member in struct:mdp_wrot_data_8183
105 u32 iova[IMG_MAX_PLANES]; member in struct:mdp_wdma_data_8183
H A Dmtk-img-ipi.h31 u32 iova; /* Used for IOMMU HW access */ member in struct:img_addr
37 u32 iova; /* Used for IOMMU HW access */ member in struct:tuning_addr
60 u32 iova[IMG_MAX_PLANES]; member in struct:img_image_buffer
/linux-master/drivers/gpu/drm/etnaviv/
H A Detnaviv_iommu.c48 unsigned long iova, phys_addr_t paddr,
52 unsigned int index = (iova - GPU_MEM_START) / SZ_4K;
63 unsigned long iova, size_t size)
66 unsigned int index = (iova - GPU_MEM_START) / SZ_4K;
47 etnaviv_iommuv1_map(struct etnaviv_iommu_context *context, unsigned long iova, phys_addr_t paddr, size_t size, int prot) argument
62 etnaviv_iommuv1_unmap(struct etnaviv_iommu_context *context, unsigned long iova, size_t size) argument
H A Detnaviv_dump.c109 void *ptr, size_t size, u64 iova)
113 iter->hdr->iova = cpu_to_le64(iova);
221 iter.hdr->iova = cpu_to_le64(vram->iova);
108 etnaviv_core_dump_mem(struct core_dump_iterator *iter, u32 type, void *ptr, size_t size, u64 iova) argument
H A Detnaviv_iommu_v2.c93 unsigned long iova, phys_addr_t paddr,
109 mtlb_entry = (iova & MMUv2_MTLB_MASK) >> MMUv2_MTLB_SHIFT;
110 stlb_entry = (iova & MMUv2_STLB_MASK) >> MMUv2_STLB_SHIFT;
122 unsigned long iova, size_t size)
130 mtlb_entry = (iova & MMUv2_MTLB_MASK) >> MMUv2_MTLB_SHIFT;
131 stlb_entry = (iova & MMUv2_STLB_MASK) >> MMUv2_STLB_SHIFT;
92 etnaviv_iommuv2_map(struct etnaviv_iommu_context *context, unsigned long iova, phys_addr_t paddr, size_t size, int prot) argument
121 etnaviv_iommuv2_unmap(struct etnaviv_iommu_context *context, unsigned long iova, size_t size) argument
/linux-master/drivers/vfio/pci/pds/
H A Ddirty.h34 int pds_vfio_dma_logging_report(struct vfio_device *vdev, unsigned long iova,
H A Ddirty.c505 pds_vfio_get_region(struct pds_vfio_pci_device *pds_vfio, unsigned long iova) argument
512 if (iova >= region->start &&
513 iova < (region->start + region->size))
522 unsigned long iova, unsigned long length)
538 region = pds_vfio_get_region(pds_vfio, iova);
540 dev_err(dev, "vf%u: Failed to find region that contains iova 0x%lx length 0x%lx\n",
541 pds_vfio->vf_id, iova, length);
550 "vf%u: iova 0x%lx length %lu page_size %llu pages %llu bitmap_size %llu\n",
551 pds_vfio->vf_id, iova, length, region->page_size,
554 if (!length || ((iova
520 pds_vfio_dirty_sync(struct pds_vfio_pci_device *pds_vfio, struct iova_bitmap *dirty_bitmap, unsigned long iova, unsigned long length) argument
600 pds_vfio_dma_logging_report(struct vfio_device *vdev, unsigned long iova, unsigned long length, struct iova_bitmap *dirty) argument
[all...]
/linux-master/include/uapi/linux/
H A Dfpga-dfl.h122 * Driver fills the iova in provided struct afu_port_dma_map.
133 __u64 iova; /* IO virtual address */ member in struct:dfl_fpga_port_dma_map
142 * Unmap the dma memory per iova provided by caller.
149 __u64 iova; /* IO virtual address */ member in struct:dfl_fpga_port_dma_unmap
H A Diommufd.h193 * @iova: IOVA the mapping was placed at. If IOMMU_IOAS_MAP_FIXED_IOVA is set
197 * mapping will be established at iova, otherwise a suitable location based on
199 * iova.
201 * If IOMMU_IOAS_MAP_FIXED_IOVA is specified then the iova range must currently
211 __aligned_u64 iova; member in struct:iommu_ioas_map
227 * dst_ioas_id. The src iova/length must exactly match a range used with
250 * @iova: IOVA to start the unmapping at
253 * Unmap an IOVA range. The iova/length must be a superset of a previously
261 __aligned_u64 iova; member in struct:iommu_ioas_unmap
590 * @iova
609 __aligned_u64 iova; member in struct:iommu_hwpt_get_dirty_bitmap
[all...]
/linux-master/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dqos_sq.c42 u64 iova, pa; local
98 iova = sq->sqb_ptrs[ptr];
99 pa = otx2_iova_to_phys(pfvf->iommu_domain, iova);
100 dma_unmap_page_attrs(pfvf->dev, iova, hw->sqb_size,
121 u64 iova, pa; local
130 iova = sq->sqb_ptrs[sqb];
131 pa = otx2_iova_to_phys(pfvf->iommu_domain, iova);
132 dma_unmap_page_attrs(pfvf->dev, iova, hw->sqb_size,
/linux-master/drivers/iommu/
H A Ddma-iommu.c20 #include <linux/iova.h>
38 dma_addr_t iova; member in struct:iommu_dma_msi_page
351 pr_warn("iova flush queue initialization failed\n");
497 msi_page->iova = start;
768 unsigned long shift, iova_len, iova; local
795 iova = alloc_iova_fast(iovad, iova_len,
797 if (iova)
804 iova = alloc_iova_fast(iovad, iova_len, dma_limit >> shift, true);
806 return (dma_addr_t)iova << shift;
810 dma_addr_t iova, size_
809 iommu_dma_free_iova(struct iommu_dma_cookie *cookie, dma_addr_t iova, size_t size, struct iommu_iotlb_gather *gather) argument
856 dma_addr_t iova; local
954 dma_addr_t iova; local
1149 dma_addr_t iova, dma_mask = dma_get_mask(dev); local
1360 dma_addr_t iova; local
1780 dma_addr_t iova; local
[all...]
/linux-master/drivers/s390/cio/
H A Dvfio_ccw_cp.c45 * @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) argument
178 u64 iova_pfn_start = iova >> PAGE_SHIFT;
179 u64 iova_pfn_end = (iova + length - 1) >> PAGE_SHIFT;
365 * @iova: guest physical address of the target ccw chain
376 static int ccwchain_calc_length(u64 iova, struct channel_program *cp) argument
392 if (!ccw_is_chain(ccw) && !is_tic_within_range(ccw, iova, cnt))
569 u64 iova; local
580 ret = vfio_dma_rw(vdev, dma32_to_u32(ccw->cda), &iova, size, false);
589 iova
947 cp_iova_pinned(struct channel_program *cp, u64 iova, u64 length) argument
[all...]
/linux-master/drivers/gpu/drm/tegra/
H A Dvic.c105 (vic->falcon.firmware.iova + fce_bin_data_offset) >> 8);
195 vic->falcon.firmware.iova);
199 vic->falcon.firmware.iova);
216 dma_addr_t iova; local
235 virt = dma_alloc_coherent(vic->dev, size, &iova, GFP_KERNEL);
241 virt = tegra_drm_alloc(tegra, size, &iova);
249 vic->falcon.firmware.iova = iova;
297 dma_free_coherent(vic->dev, size, virt, iova);
299 tegra_drm_free(tegra, size, virt, iova);
[all...]
/linux-master/drivers/iommu/iommufd/
H A Dvfio_compat.c167 unsigned long iova; local
190 iova = map.iova;
191 rc = iopt_map_user_pages(ictx, &ioas->iopt, &iova, u64_to_user_ptr(map.vaddr),
224 if (unmap.iova != 0 || unmap.size != 0) {
236 unsigned long iovas[] = { unmap.iova + unmap.size - 1,
237 unmap.iova - 1 };
240 unmap.iova ? 2 : 1);
244 rc = iopt_unmap_iova(&ioas->iopt, unmap.iova, unmap.size,
H A Diommufd_private.h60 int iopt_get_pages(struct io_pagetable *iopt, unsigned long iova,
67 unsigned long *iova, void __user *uptr,
73 int iopt_unmap_iova(struct io_pagetable *iopt, unsigned long iova,
84 void iommufd_access_notify_unmap(struct io_pagetable *iopt, unsigned long iova,
434 unsigned int ioas_id, u64 *iova, u32 *flags);
442 u64 *iova, u32 *flags)
440 iommufd_test_syz_conv_iova_id(struct iommufd_ucmd *ucmd, unsigned int ioas_id, u64 *iova, u32 *flags) argument
/linux-master/drivers/soc/qcom/
H A Dqcom-geni-se.c668 * @iova: Mapped DMA address.
673 void geni_se_tx_init_dma(struct geni_se *se, dma_addr_t iova, size_t len) argument
681 writel_relaxed(lower_32_bits(iova), se->base + SE_DMA_TX_PTR_L);
682 writel_relaxed(upper_32_bits(iova), se->base + SE_DMA_TX_PTR_H);
693 * @iova: Pointer to store the mapped DMA address.
700 dma_addr_t *iova)
707 *iova = dma_map_single(wrapper->dev, buf, len, DMA_TO_DEVICE);
708 if (dma_mapping_error(wrapper->dev, *iova))
711 geni_se_tx_init_dma(se, *iova, len);
719 * @iova
699 geni_se_tx_dma_prep(struct geni_se *se, void *buf, size_t len, dma_addr_t *iova) argument
724 geni_se_rx_init_dma(struct geni_se *se, dma_addr_t iova, size_t len) argument
751 geni_se_rx_dma_prep(struct geni_se *se, void *buf, size_t len, dma_addr_t *iova) argument
776 geni_se_tx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len) argument
793 geni_se_rx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len) argument
[all...]
/linux-master/drivers/iommu/arm/arm-smmu/
H A Dqcom_iommu.c147 static void qcom_iommu_tlb_inv_range_nosync(unsigned long iova, size_t size, argument
160 iova = (iova >> 12) << 12;
161 iova |= ctx->asid;
163 iommu_writel(ctx, reg, iova);
164 iova += granule;
169 static void qcom_iommu_tlb_flush_walk(unsigned long iova, size_t size, argument
172 qcom_iommu_tlb_inv_range_nosync(iova, size, granule, false, cookie);
177 unsigned long iova, size_t granule,
180 qcom_iommu_tlb_inv_range_nosync(iova, granul
176 qcom_iommu_tlb_add_page(struct iommu_iotlb_gather *gather, unsigned long iova, size_t granule, void *cookie) argument
193 u64 iova; local
429 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) argument
447 qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t pgsize, size_t pgcount, struct iommu_iotlb_gather *gather) argument
492 qcom_iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) argument
[all...]
/linux-master/drivers/infiniband/sw/rxe/
H A Drxe_loc.h65 int rxe_flush_pmem_iova(struct rxe_mr *mr, u64 iova, unsigned int length);
66 int rxe_mr_copy(struct rxe_mr *mr, u64 iova, void *addr,
72 int rxe_mr_do_atomic_op(struct rxe_mr *mr, u64 iova, int opcode,
74 int rxe_mr_do_atomic_write(struct rxe_mr *mr, u64 iova, u64 value);
77 int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length);
/linux-master/drivers/gpu/drm/panfrost/
H A Dpanfrost_mmu.c97 u64 iova, u64 size, u32 op)
103 lock_region(pfdev, as_nr, iova, size);
114 u64 iova, u64 size, u32 op)
119 ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op);
276 u64 iova, u64 size)
285 mmu_hw_do_operation(pfdev, mmu, iova, size, AS_COMMAND_FLUSH_PT);
291 u64 iova, int prot, struct sg_table *sgt)
296 u64 start_iova = iova;
302 dev_dbg(pfdev->dev, "map: as=%d, iova=%llx, paddr=%lx, len=%zx", mmu->as, iova, padd
96 mmu_hw_do_operation_locked(struct panfrost_device *pfdev, int as_nr, u64 iova, u64 size, u32 op) argument
112 mmu_hw_do_operation(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size, u32 op) argument
274 panfrost_mmu_flush_range(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, u64 size) argument
290 mmu_map_sg(struct panfrost_device *pfdev, struct panfrost_mmu *mmu, u64 iova, int prot, struct sg_table *sgt) argument
355 u64 iova = mapping->mmnode.start << PAGE_SHIFT; local
393 mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, void *cookie) argument
[all...]
/linux-master/drivers/infiniband/hw/mlx5/
H A Dmr.c56 u64 iova, int access_flags,
1105 u64 length, int access_flags, u64 iova)
1111 mr->ibmr.iova = iova;
1116 u64 iova)
1119 * The alignment of iova has already been checked upon entering
1122 umem->iova = iova;
1127 struct ib_umem *umem, u64 iova,
1139 page_size = mlx5_umem_dmabuf_default_pgsz(umem, iova);
1104 set_mr_fields(struct mlx5_ib_dev *dev, struct mlx5_ib_mr *mr, u64 length, int access_flags, u64 iova) argument
1115 mlx5_umem_dmabuf_default_pgsz(struct ib_umem *umem, u64 iova) argument
1126 alloc_cacheable_mr(struct ib_pd *pd, struct ib_umem *umem, u64 iova, int access_flags) argument
1180 reg_create(struct ib_pd *pd, struct ib_umem *umem, u64 iova, int access_flags, unsigned int page_size, bool populate) argument
1364 create_real_mr(struct ib_pd *pd, struct ib_umem *umem, u64 iova, int access_flags) argument
1407 create_user_odp_mr(struct ib_pd *pd, u64 start, u64 length, u64 iova, int access_flags, struct ib_udata *udata) argument
1465 mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, u64 iova, int access_flags, struct ib_udata *udata) argument
1579 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) argument
1600 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) argument
1647 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) argument
2452 u64 iova = pi_mr->data_iova; local
[all...]
/linux-master/arch/arm/mm/
H A Ddma-mapping.c764 dma_addr_t iova; local
808 iova = mapping->base + (mapping_size * i);
809 iova += start << PAGE_SHIFT;
811 return iova;
835 * The address range to be freed reaches into the iova
967 dma_addr_t dma_addr, iova; local
974 iova = dma_addr;
987 ret = iommu_map(mapping->domain, iova, phys, len,
992 iova += len;
997 iommu_unmap(mapping->domain, dma_addr, iova
1002 __iommu_remove_mapping(struct device *dev, dma_addr_t iova, size_t size) argument
1190 dma_addr_t iova, iova_base; local
1409 dma_addr_t iova = handle & PAGE_MASK; local
1472 dma_addr_t iova = dma_handle & PAGE_MASK; local
1487 dma_addr_t iova = handle & PAGE_MASK; local
1502 dma_addr_t iova = handle & PAGE_MASK; local
[all...]
/linux-master/include/rdma/
H A Dib_umem.h22 u64 iova; member in struct:ib_umem
64 return (size_t)((ALIGN(umem->iova + umem->length, pgsz) -
65 ALIGN_DOWN(umem->iova, pgsz))) /
/linux-master/drivers/infiniband/core/
H A Duverbs_std_types_mr.c181 &mr->iova, sizeof(mr->iova));
195 u64 offset, length, iova; local
213 ret = uverbs_copy_from(&iova, attrs,
218 if ((offset & ~PAGE_MASK) != (iova & ~PAGE_MASK))
240 mr = pd->device->ops.reg_user_mr_dmabuf(pd, offset, length, iova, fd,
/linux-master/drivers/vfio/
H A Dvfio.h248 dma_addr_t iova, int npage,
251 dma_addr_t iova, int npage);
253 dma_addr_t iova, void *data,
293 dma_addr_t iova, int npage,
300 dma_addr_t iova, int npage)
305 dma_addr_t iova, void *data,
292 vfio_device_container_pin_pages(struct vfio_device *device, dma_addr_t iova, int npage, int prot, struct page **pages) argument
299 vfio_device_container_unpin_pages(struct vfio_device *device, dma_addr_t iova, int npage) argument
304 vfio_device_container_dma_rw(struct vfio_device *device, dma_addr_t iova, void *data, size_t len, bool write) argument
/linux-master/include/linux/soc/qcom/
H A Dgeni-se.h503 void geni_se_tx_init_dma(struct geni_se *se, dma_addr_t iova, size_t len);
506 dma_addr_t *iova);
508 void geni_se_rx_init_dma(struct geni_se *se, dma_addr_t iova, size_t len);
511 dma_addr_t *iova);
513 void geni_se_tx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len);
515 void geni_se_rx_dma_unprep(struct geni_se *se, dma_addr_t iova, size_t len);

Completed in 232 milliseconds

12345678910