/linux-master/drivers/media/platform/mediatek/mdp3/ |
H A D | mdp_sm_mt8183.h | 53 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 D | mtk-img-ipi.h | 31 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 D | etnaviv_iommu.c | 48 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 D | etnaviv_dump.c | 109 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 D | etnaviv_iommu_v2.c | 93 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 D | dirty.h | 34 int pds_vfio_dma_logging_report(struct vfio_device *vdev, unsigned long iova,
|
H A D | dirty.c | 505 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 D | fpga-dfl.h | 122 * 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 D | iommufd.h | 193 * @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 D | qos_sq.c | 42 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 D | dma-iommu.c | 20 #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 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) 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 D | vic.c | 105 (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 D | vfio_compat.c | 167 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 D | iommufd_private.h | 60 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 D | qcom-geni-se.c | 668 * @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 D | qcom_iommu.c | 147 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 D | rxe_loc.h | 65 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 D | panfrost_mmu.c | 97 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 D | mr.c | 56 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 D | dma-mapping.c | 764 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 D | ib_umem.h | 22 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 D | uverbs_std_types_mr.c | 181 &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 D | vfio.h | 248 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 D | geni-se.h | 503 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);
|