/linux-master/drivers/vfio/ |
H A D | container.c | 532 dma_addr_t iova, int npage, 544 return driver->ops->pin_pages(container->iommu_data, iommu_group, iova, 549 dma_addr_t iova, int npage) 556 container->iommu_driver->ops->unpin_pages(container->iommu_data, iova, 561 dma_addr_t iova, void *data, 569 return driver->ops->dma_rw(container->iommu_data, iova, data, len, 531 vfio_device_container_pin_pages(struct vfio_device *device, dma_addr_t iova, int npage, int prot, struct page **pages) argument 548 vfio_device_container_unpin_pages(struct vfio_device *device, dma_addr_t iova, int npage) argument 560 vfio_device_container_dma_rw(struct vfio_device *device, dma_addr_t iova, void *data, size_t len, bool write) argument
|
/linux-master/drivers/parisc/ |
H A D | ccio-dma.c | 273 #define CCIO_IOVP(iova) ((iova) & IOVP_MASK) 414 * @iova: The I/O Virtual Address. 418 * This function frees the resouces allocated for the iova. 421 ccio_free_range(struct ioc *ioc, dma_addr_t iova, unsigned long pages_mapped) argument 423 unsigned long iovp = CCIO_IOVP(iova); 634 * @iova: The I/O Virtual Address. 650 ccio_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_t byte_cnt) argument 652 u32 iovp = (u32)CCIO_IOVP(iova); 677 ccio_clear_io_tlb(ioc, CCIO_IOVP(iova), saved_byte_cn 794 ccio_unmap_page(struct device *dev, dma_addr_t iova, size_t size, enum dma_data_direction direction, unsigned long attrs) argument [all...] |
H A D | sba_iommu.c | 311 #define SBA_IOVP(ioc,iova) ((iova) & (ioc)->iovp_mask) 315 #define SBA_IOVP(ioc,iova) (iova) 488 * @iova: IO virtual address which was previously allocated. 494 sba_free_range(struct ioc *ioc, dma_addr_t iova, size_t size) argument 496 unsigned long iovp = SBA_IOVP(ioc, iova); 507 __func__, (uint) iova, size, 599 * @iova: IO Virtual Address mapped earlier 613 sba_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_ argument 801 sba_unmap_page(struct device *dev, dma_addr_t iova, size_t size, enum dma_data_direction direction, unsigned long attrs) argument [all...] |
/linux-master/drivers/iommu/iommufd/ |
H A D | device.c | 915 * @iova: Starting iova in the iopt 919 * linked to this iopt that intersect with iova,length. Anyone that has attached 928 void iommufd_access_notify_unmap(struct io_pagetable *iopt, unsigned long iova, argument 942 access->ops->unmap(access->data, iova, length); 953 * @iova: Starting IOVA 957 * this. The iova/length must exactly match the one provided to access_pages. 960 unsigned long iova, unsigned long length) 968 WARN_ON(check_add_overflow(iova, length - 1, &last_iova))) 983 iopt_for_each_contig_area(&iter, area, iopt, iova, last_iov 959 iommufd_access_unpin_pages(struct iommufd_access *access, unsigned long iova, unsigned long length) argument 1033 iommufd_access_pin_pages(struct iommufd_access *access, unsigned long iova, unsigned long length, struct page **out_pages, unsigned int flags) argument 1122 iommufd_access_rw(struct iommufd_access *access, unsigned long iova, void *data, size_t length, unsigned int flags) argument [all...] |
/linux-master/include/uapi/linux/ |
H A D | vduse.h | 216 * @iova: start of the IOVA region 225 __u64 iova; member in struct:vduse_iova_umem 233 /* De-register the userspace memory. Caller should set iova and size field. */ 314 * @iova: IOVA range for updating 326 struct vduse_iova_range iova; member in union:vduse_dev_request::__anon48
|
H A D | vhost_types.h | 68 __u64 iova; member in struct:vhost_iotlb_msg
|
H A D | vfio.h | 1380 __aligned_u64 iova; member in struct:vfio_device_feature_dma_logging_range 1401 * bitmap[(addr - iova)/page_size] & (1ULL << (addr % 64)) 1419 __aligned_u64 iova; member in struct:vfio_device_feature_dma_logging_report 1485 * outside the valid iova range will return error. 1549 * If flags & VFIO_DMA_MAP_FLAG_VADDR, update the base vaddr for iova. The vaddr 1553 * will result in user memory corruption and/or device misbehavior. iova and 1564 __u64 iova; /* IO virtual address */ member in struct:vfio_iommu_type1_dma_map 1582 * field. No guarantee is made to the user that arbitrary unmaps of iova 1591 * vfio_bitmap.pgsize field, consecutively starting from iova offset. Bit set 1592 * indicates that the page at that offset from iova i 1610 __u64 iova; /* IO virtual address */ member in struct:vfio_iommu_type1_dma_unmap 1668 __u64 iova; /* IO virtual address */ member in struct:vfio_iommu_type1_dirty_bitmap_get [all...] |
/linux-master/drivers/iommu/ |
H A D | Makefile | 12 obj-$(CONFIG_IOMMU_IOVA) += iova.o
|
H A D | fsl_pamu_domain.c | 173 dma_addr_t iova) 175 if (iova < domain->geometry.aperture_start || 176 iova > domain->geometry.aperture_end) 178 return iova; 172 fsl_pamu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) argument
|
H A D | mtk_iommu_v1.c | 84 * MTK m4u support 4GB iova address space, and only support 4K page 170 unsigned long iova, size_t size) 177 writel_relaxed(iova & F_MMU_FAULT_VA_MSK, 179 writel_relaxed((iova + size - 1) & F_MMU_FAULT_VA_MSK, 218 "fault type=0x%x iova=0x%x pa=0x%x larb=%d port=%d\n", 337 static int mtk_iommu_v1_map(struct iommu_domain *domain, unsigned long iova, argument 344 u32 *pgt_base_iova = dom->pgt_va + (iova >> MT2701_IOMMU_PAGE_SHIFT); 358 mtk_iommu_v1_tlb_flush_range(dom->data, iova, *mapped); 363 static size_t mtk_iommu_v1_unmap(struct iommu_domain *domain, unsigned long iova, argument 369 u32 *pgt_base_iova = dom->pgt_va + (iova >> MT2701_IOMMU_PAGE_SHIF 169 mtk_iommu_v1_tlb_flush_range(struct mtk_iommu_v1_data *data, unsigned long iova, size_t size) argument 381 mtk_iommu_v1_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) argument [all...] |
/linux-master/drivers/gpu/host1x/ |
H A D | cdma.c | 58 free_iova(&host1x->iova, iova_pfn(&host1x->iova, pb->dma)); 74 struct iova *alloc; 91 size = iova_align(&host1x->iova, size); 98 shift = iova_shift(&host1x->iova); 99 alloc = alloc_iova(&host1x->iova, size >> shift, 106 pb->dma = iova_dma_addr(&host1x->iova, alloc); 127 __free_iova(&host1x->iova, alloc);
|
/linux-master/drivers/gpu/drm/msm/dsi/ |
H A D | dsi.h | 112 int dsi_dma_base_get_6g(struct msm_dsi_host *msm_host, uint64_t *iova); 113 int dsi_dma_base_get_v2(struct msm_dsi_host *msm_host, uint64_t *iova);
|
/linux-master/drivers/gpu/drm/tegra/ |
H A D | falcon.h | 88 dma_addr_t iova; member in struct:falcon_firmware
|
H A D | drm.h | 11 #include <linux/iova.h> 123 void *tegra_drm_alloc(struct tegra_drm *tegra, size_t size, dma_addr_t *iova); 125 dma_addr_t iova);
|
H A D | plane.c | 47 state->iova[i] = DMA_MAPPING_ERROR; 77 copy->iova[i] = DMA_MAPPING_ERROR; 167 state->iova[i] = map->phys; 169 state->iova[i] = bo->iova; 182 state->iova[i] = DMA_MAPPING_ERROR; 195 state->iova[i] = DMA_MAPPING_ERROR;
|
/linux-master/drivers/vdpa/vdpa_user/ |
H A D | iova_domain.h | 14 #include <linux/iova.h>
|
/linux-master/drivers/gpu/drm/msm/adreno/ |
H A D | adreno_gpu.c | 253 int adreno_fault_handler(struct msm_gpu *gpu, unsigned long iova, int flags, argument 273 pr_warn_ratelimited("*** gpu fault: iova=%.16lx flags=%d (%u,%u,%u,%u)\n", 274 iova, flags, 287 pr_warn_ratelimited("*** gpu fault: ttbr0=%.16llx iova=%.16lx dir=%s type=%s source=%s (%u,%u,%u,%u)\n", 288 info->ttbr0, iova, 298 gpu->fault_info.iova = iova; 546 const struct firmware *fw, u64 *iova) 552 MSM_BO_WC | MSM_BO_GPU_READONLY, gpu->aspace, &bo, iova); 674 state->ring[i].iova 545 adreno_fw_create_bo(struct msm_gpu *gpu, const struct firmware *fw, u64 *iova) argument [all...] |
H A D | a6xx_hfi.h | 18 u32 iova; member in struct:a6xx_hfi_queue_header
|
/linux-master/drivers/media/platform/mediatek/mdp3/ |
H A D | mdp_sm_mt8195.h | 56 u32 iova[IMG_MAX_PLANES]; member in struct:mdp_rdma_data_8195 210 u32 iova[IMG_MAX_PLANES]; member in struct:mdp_wrot_data_8195 236 u32 iova[IMG_MAX_PLANES]; member in struct:mdp_wdma_data_8195
|
/linux-master/drivers/gpu/drm/msm/disp/mdp4/ |
H A D | mdp4_crtc.c | 367 uint64_t iova = mdp4_crtc->cursor.next_iova; local 370 /* take a obj ref + iova ref when we start scanning out: */ 372 msm_gem_get_and_pin_iova(next_bo, kms->aspace, &iova); 378 mdp4_write(mdp4_kms, REG_MDP4_DMA_CURSOR_BASE(dma), iova); 388 /* and drop the iova ref + obj rev when done scanning out: */ 413 uint64_t iova; local 430 ret = msm_gem_get_and_pin_iova(cursor_bo, kms->aspace, &iova); 434 iova = 0; 440 mdp4_crtc->cursor.next_iova = iova;
|
/linux-master/arch/s390/pci/ |
H A D | pci.c | 305 void __iomem *iova; local 307 iova = ioremap((unsigned long) zdev->bars[bar].mio_wt, barsize); 308 return iova ? iova + offset : iova; 335 void __iomem *iova; local 337 iova = ioremap((unsigned long) zdev->bars[bar].mio_wb, barsize); 338 return iova ? iova + offset : iova; [all...] |
/linux-master/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu-nvidia.c | 198 unsigned long iova; local 207 iova = readq_relaxed(cb_base + ARM_SMMU_CB_FAR); 211 "Unhandled context fault: fsr=0x%x, iova=0x%08lx, fsynr=0x%x, cbfrsynra=0x%x, cb=%d\n", 212 fsr, iova, fsynr, cbfrsynra, idx);
|
/linux-master/drivers/staging/media/ipu3/ |
H A D | ipu3.h | 7 #include <linux/iova.h>
|
/linux-master/drivers/vdpa/vdpa_sim/ |
H A D | vdpa_sim.h | 9 #include <linux/iova.h>
|
/linux-master/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_cmdbuf.c | 139 return mapping->iova + buf->suballoc_offset;
|