| /linux/drivers/media/platform/nvidia/tegra-vde/ |
| H A D | iommu.c | 21 struct iova **iovap, in tegra_vde_iommu_map() 24 struct iova *iova; in tegra_vde_iommu_map() local 30 size = iova_align(&vde->iova, size); in tegra_vde_iommu_map() 31 shift = iova_shift(&vde->iova); in tegra_vde_iommu_map() 33 iova = alloc_iova(&vde->iova, size >> shift, end >> shift, true); in tegra_vde_iommu_map() 34 if (!iova) in tegra_vde_iommu_map() 37 addr = iova_dma_addr(&vde->iova, iova); in tegra_vde_iommu_map() 42 __free_iova(&vde->iova, iova); in tegra_vde_iommu_map() 46 *iovap = iova; in tegra_vde_iommu_map() 51 void tegra_vde_iommu_unmap(struct tegra_vde *vde, struct iova *iova) in tegra_vde_iommu_unmap() argument [all …]
|
| H A D | dmabuf-cache.c | 28 struct iova *iova; member 39 tegra_vde_iommu_unmap(entry->vde, entry->iova); in tegra_vde_release_entry() 73 struct iova *iova; in tegra_vde_dmabuf_cache_map() local 91 *addrp = iova_dma_addr(&vde->iova, entry->iova); in tegra_vde_dmabuf_cache_map() 125 err = tegra_vde_iommu_map(vde, sgt, &iova, dmabuf->size); in tegra_vde_dmabuf_cache_map() 129 *addrp = iova_dma_addr(&vde->iova, iova); in tegra_vde_dmabuf_cache_map() 132 iova = NULL; in tegra_vde_dmabuf_cache_map() 139 entry->iova = iova; in tegra_vde_dmabuf_cache_map()
|
| /linux/drivers/iommu/ |
| H A D | iova.c | 32 static struct iova *to_iova(struct rb_node *node) in to_iova() 34 return rb_entry(node, struct iova, node); in to_iova() 72 __cached_rbnode_insert_update(struct iova_domain *iovad, struct iova *new) in __cached_rbnode_insert_update() 81 __cached_rbnode_delete_update(struct iova_domain *iovad, struct iova *free) in __cached_rbnode_delete_update() 83 struct iova *cached_iova; in __cached_rbnode_delete_update() 138 iova_insert_rbtree(struct rb_root *root, struct iova *iova, in iova_insert_rbtree() argument 146 struct iova *this = to_iova(*new); in iova_insert_rbtree() 150 if (iova->pfn_lo < this->pfn_lo) in iova_insert_rbtree() 152 else if (iova->pfn_lo > this->pfn_lo) in iova_insert_rbtree() 160 rb_link_node(&iova->node, parent, new); in iova_insert_rbtree() [all …]
|
| H A D | io-pgtable-arm-selftests.c | 26 static void dummy_tlb_flush(unsigned long iova, size_t size, in dummy_tlb_flush() argument 34 unsigned long iova, size_t granule, in dummy_tlb_add_page() argument 37 dummy_tlb_flush(iova, granule, granule, cookie); in dummy_tlb_add_page() 59 unsigned long iova; in arm_lpae_run_tests() local 87 iova = 0; in arm_lpae_run_tests() 91 if (ops->map_pages(ops, iova, iova, size, 1, in arm_lpae_run_tests() 98 if (!ops->map_pages(ops, iova, iova + size, size, 1, in arm_lpae_run_tests() 103 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42)) in arm_lpae_run_tests() 106 iova += SZ_1G; in arm_lpae_run_tests() 110 iova = 0; in arm_lpae_run_tests() [all …]
|
| H A D | io-pgtable-arm-v7s.c | 395 unsigned long iova, phys_addr_t paddr, int prot, in arm_v7s_init_pte() argument 411 tblp = ptep - ARM_V7S_LVL_IDX(iova, lvl, cfg); in arm_v7s_init_pte() 412 if (WARN_ON(__arm_v7s_unmap(data, NULL, iova + i * sz, in arm_v7s_init_pte() 460 static int __arm_v7s_map(struct arm_v7s_io_pgtable *data, unsigned long iova, in __arm_v7s_map() argument 469 ptep += ARM_V7S_LVL_IDX(iova, lvl, cfg); in __arm_v7s_map() 473 return arm_v7s_init_pte(data, iova, paddr, prot, in __arm_v7s_map() 504 return __arm_v7s_map(data, iova, paddr, size, prot, lvl + 1, cptep, gfp); in __arm_v7s_map() 507 static int arm_v7s_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in arm_v7s_map_pages() argument 514 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias) || in arm_v7s_map_pages() 522 ret = __arm_v7s_map(data, iova, paddr, pgsize, prot, 1, data->pgd, in arm_v7s_map_pages() [all …]
|
| H A D | sun50i-iommu.c | 166 static u32 sun50i_iova_get_dte_index(dma_addr_t iova) in sun50i_iova_get_dte_index() argument 168 return FIELD_GET(SUN50I_IOVA_DTE_MASK, iova); in sun50i_iova_get_dte_index() 171 static u32 sun50i_iova_get_pte_index(dma_addr_t iova) in sun50i_iova_get_pte_index() argument 173 return FIELD_GET(SUN50I_IOVA_PTE_MASK, iova); in sun50i_iova_get_pte_index() 176 static u32 sun50i_iova_get_page_offset(dma_addr_t iova) in sun50i_iova_get_page_offset() argument 178 return FIELD_GET(SUN50I_IOVA_PAGE_MASK, iova); in sun50i_iova_get_page_offset() 302 unsigned long iova) in sun50i_iommu_zap_iova() argument 307 iommu_write(iommu, IOMMU_TLB_IVLD_ADDR_REG, iova); in sun50i_iommu_zap_iova() 319 unsigned long iova) in sun50i_iommu_zap_ptw_cache() argument 324 iommu_write(iommu, IOMMU_PC_IVLD_ADDR_REG, iova); in sun50i_iommu_zap_ptw_cache() [all …]
|
| H A D | io-pgtable-dart.c | 113 unsigned long iova, phys_addr_t paddr, in dart_init_pte() argument 161 static int dart_get_index(struct dart_io_pgtable *data, unsigned long iova, int level) in dart_get_index() argument 163 return (iova >> (level * data->bits_per_level + ilog2(sizeof(dart_iopte)))) & in dart_get_index() 167 static int dart_get_last_index(struct dart_io_pgtable *data, unsigned long iova) in dart_get_last_index() argument 170 return (iova >> (data->bits_per_level + ilog2(sizeof(dart_iopte)))) & in dart_get_last_index() 174 static dart_iopte *dart_get_last(struct dart_io_pgtable *data, unsigned long iova) in dart_get_last() argument 178 int tbl = dart_get_index(data, iova, level); in dart_get_last() 188 ptep += dart_get_index(data, iova, level); in dart_get_last() 226 static int dart_map_pages(struct io_pgtable_ops *ops, unsigned long iova, in dart_map_pages() argument 247 tbl = dart_get_index(data, iova, level); in dart_map_pages() [all …]
|
| /linux/include/linux/ |
| H A D | iova.h | 18 struct iova { struct 37 struct iova anchor; /* rbtree lookup anchor */ 43 static inline unsigned long iova_size(struct iova *iova) in iova_size() argument 45 return iova->pfn_hi - iova->pfn_lo + 1; in iova_size() 58 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset() argument 60 return iova & iova_mask(iovad); in iova_offset() 73 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr() argument 75 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr() 78 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn() argument 80 return iova >> iova_shift(iovad); in iova_pfn() [all …]
|
| /linux/drivers/fpga/ |
| H A D | dfl-afu-dma-region.c | 125 u64 iova, u64 size) in dma_region_check_iova() argument 127 if (!size && region->iova != iova) in dma_region_check_iova() 130 return (region->iova <= iova) && in dma_region_check_iova() 131 (region->length + region->iova >= iova + size); in dma_region_check_iova() 150 (unsigned long long)region->iova); in afu_dma_region_add() 161 if (dma_region_check_iova(this, region->iova, region->length)) in afu_dma_region_add() 164 if (region->iova < this->iova) in afu_dma_region_add() 166 else if (region->iova > this->iova) in afu_dma_region_add() 191 (unsigned long long)region->iova); in afu_dma_region_remove() 213 (unsigned long long)region->iova); in afu_dma_region_destroy() [all …]
|
| /linux/drivers/iommu/iommufd/ |
| H A D | iova_bitmap.c | 36 unsigned long iova; member 115 unsigned long iova; member 131 unsigned long iova) in iova_bitmap_offset_to_index() 133 return (iova >> bitmap->mapped.pgshift) / in iova_bitmap_offset_to_index() 155 return bitmap->iova + iova_bitmap_index_to_offset(bitmap, skip); in iova_bitmap_mapped_iova() 202 mapped->iova = iova_bitmap_mapped_iova(bitmap); in iova_bitmap_get() 243 struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, in iova_bitmap_alloc() argument 259 bitmap->iova = iova; in iova_bitmap_alloc() 261 mapped->iova = iova; in iova_bitmap_alloc() 320 unsigned long max_iova = bitmap->iova + bitmap->length - 1; in iova_bitmap_mapped_length() [all …]
|
| /linux/include/trace/events/ |
| H A D | iommu.h | 81 TP_PROTO(unsigned long iova, phys_addr_t paddr, size_t size), 83 TP_ARGS(iova, paddr, size), 86 __field(u64, iova) 92 __entry->iova = iova; 98 __entry->iova, __entry->iova + __entry->size, __entry->paddr, 105 TP_PROTO(unsigned long iova, size_t size, size_t unmapped_size), 107 TP_ARGS(iova, size, unmapped_size), 110 __field(u64, iova) 116 __entry->iova = iova; 122 __entry->iova, __entry->iova + __entry->size, [all …]
|
| /linux/drivers/gpu/drm/ci/xfails/ |
| H A D | msm-sm8350-hdk-skips.txt | 24 # [ 200.895243] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=PERMISS… 25 # [ 200.906885] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 26 # [ 200.917625] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 27 # [ 200.928353] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 28 # [ 200.939084] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 29 # [ 200.949815] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 31 # [ 200.960467] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 32 # [ 200.960500] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 33 # [ 200.995966] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… 34 # [ 201.006702] *** gpu fault: ttbr0=00000001160d6000 iova=0001000000001000 dir=WRITE type=UNKNOWN… [all …]
|
| /linux/drivers/staging/media/ipu3/ |
| H A D | ipu3-dmamap.c | 102 struct iova *iova; in imgu_dmamap_alloc() local 107 iova = alloc_iova(&imgu->iova_domain, size >> shift, in imgu_dmamap_alloc() 109 if (!iova) in imgu_dmamap_alloc() 117 iovaddr = iova_dma_addr(&imgu->iova_domain, iova); in imgu_dmamap_alloc() 133 map->daddr = iova_dma_addr(&imgu->iova_domain, iova); in imgu_dmamap_alloc() 142 imgu_mmu_unmap(imgu->mmu, iova_dma_addr(&imgu->iova_domain, iova), in imgu_dmamap_alloc() 146 __free_iova(&imgu->iova_domain, iova); in imgu_dmamap_alloc() 153 struct iova *iova; in imgu_dmamap_unmap() local 155 iova = find_iova(&imgu->iova_domain, in imgu_dmamap_unmap() 157 if (WARN_ON(!iova)) in imgu_dmamap_unmap() [all …]
|
| H A D | ipu3-mmu.c | 154 static inline void address_to_pte_idx(unsigned long iova, u32 *l1pt_idx, in address_to_pte_idx() argument 157 iova >>= IPU3_PAGE_SHIFT; in address_to_pte_idx() 160 *l2pt_idx = iova & IPU3_L2PT_MASK; in address_to_pte_idx() 162 iova >>= IPU3_L2PT_SHIFT; in address_to_pte_idx() 165 *l1pt_idx = iova & IPU3_L1PT_MASK; in address_to_pte_idx() 210 static int __imgu_mmu_map(struct imgu_mmu *mmu, unsigned long iova, in __imgu_mmu_map() argument 220 address_to_pte_idx(iova, &l1pt_idx, &l2pt_idx); in __imgu_mmu_map() 251 int imgu_mmu_map(struct imgu_mmu_info *info, unsigned long iova, in imgu_mmu_map() argument 262 if (!IS_ALIGNED(iova | paddr | size, IPU3_PAGE_SIZE)) { in imgu_mmu_map() 264 iova, &paddr, size); in imgu_mmu_map() [all …]
|
| /linux/drivers/staging/media/ipu7/ |
| H A D | ipu7-dma.c | 29 static struct vm_info *get_vm_info(struct ipu7_mmu *mmu, dma_addr_t iova) in get_vm_info() argument 34 if (iova >= info->ipu7_iova && in get_vm_info() 35 iova < (info->ipu7_iova + info->size)) in get_vm_info() 163 struct iova *iova; in ipu7_dma_alloc() local 174 iova = alloc_iova(&mmu->dmap->iovad, count, in ipu7_dma_alloc() 176 if (!iova) in ipu7_dma_alloc() 184 size, iova->pfn_lo, iova->pfn_hi); in ipu7_dma_alloc() 185 for (i = 0; iova->pfn_lo + i <= iova->pfn_hi; i++) { in ipu7_dma_alloc() 197 PFN_PHYS(iova->pfn_lo + i), pci_dma_addr, in ipu7_dma_alloc() 213 *dma_handle = PFN_PHYS(iova->pfn_lo); in ipu7_dma_alloc() [all …]
|
| H A D | ipu7-mmu.c | 240 static void l2_unmap(struct ipu7_mmu_info *mmu_info, unsigned long iova, in l2_unmap() argument 250 for (l1_idx = iova >> ISP_L1PT_SHIFT; in l2_unmap() 254 l1_idx, iova); in l2_unmap() 259 iova, l1_idx); in l2_unmap() 265 for (l2_idx = (iova & ISP_L2PT_MASK) >> ISP_L2PT_SHIFT; in l2_unmap() 274 iova += ISP_PAGE_SIZE; in l2_unmap() 289 static int l2_map(struct ipu7_mmu_info *mmu_info, unsigned long iova, in l2_map() argument 306 for (l1_idx = iova >> ISP_L1PT_SHIFT; in l2_map() 310 l1_idx, (u32)iova); in l2_map() 345 for (l2_idx = (iova & ISP_L2PT_MASK) >> ISP_L2PT_SHIFT; in l2_map() [all …]
|
| /linux/drivers/media/pci/intel/ipu6/ |
| H A D | ipu6-dma.c | 29 static struct vm_info *get_vm_info(struct ipu6_mmu *mmu, dma_addr_t iova) in get_vm_info() argument 34 if (iova >= info->ipu6_iova && in get_vm_info() 35 iova < (info->ipu6_iova + info->size)) in get_vm_info() 163 struct iova *iova; in ipu6_dma_alloc() local 174 iova = alloc_iova(&mmu->dmap->iovad, count, in ipu6_dma_alloc() 176 if (!iova) in ipu6_dma_alloc() 184 size, iova->pfn_lo, iova->pfn_hi); in ipu6_dma_alloc() 185 for (i = 0; iova->pfn_lo + i <= iova->pfn_hi; i++) { in ipu6_dma_alloc() 197 PFN_PHYS(iova->pfn_lo + i), pci_dma_addr, in ipu6_dma_alloc() 213 *dma_handle = PFN_PHYS(iova->pfn_lo); in ipu6_dma_alloc() [all …]
|
| H A D | ipu6-mmu.c | 99 u32 iova = (phys_addr_t)l1_idx << ISP_L1PT_SHIFT; in page_table_dump() local 108 l1_idx, iova, iova + ISP_PAGE_SIZE, &l2_phys); in page_table_dump() 112 u32 iova2 = iova + (l2_idx << ISP_L2PT_SHIFT); in page_table_dump() 257 static void l2_unmap(struct ipu6_mmu_info *mmu_info, unsigned long iova, in l2_unmap() argument 267 for (l1_idx = iova >> ISP_L1PT_SHIFT; in l2_unmap() 271 l1_idx, iova); in l2_unmap() 276 iova, l1_idx); in l2_unmap() 282 for (l2_idx = (iova & ISP_L2PT_MASK) >> ISP_L2PT_SHIFT; in l2_unmap() 291 iova += ISP_PAGE_SIZE; in l2_unmap() 306 static int l2_map(struct ipu6_mmu_info *mmu_info, unsigned long iova, in l2_map() argument [all …]
|
| /linux/drivers/vfio/ |
| H A D | vfio_iommu_type1.c | 90 dma_addr_t iova; /* Device address */ member 130 dma_addr_t iova; /* Device address */ member 137 dma_addr_t iova; member 176 if (start + size - 1 < dma->iova) in vfio_find_dma() 178 else if (start > dma->iova + dma->size - 1) in vfio_find_dma() 200 if (start <= dma->iova + dma->size - 1) { in vfio_find_dma_first_node() 203 if (start >= dma->iova) in vfio_find_dma_first_node() 210 if (res && dma_res->iova > end) in vfio_find_dma_first_node() 226 if (new->iova <= dma->iova) in vfio_link_dma() 276 bitmap_set(dma->bitmap, (vpfn->iova - dma->iova) >> pgshift, 1); in vfio_dma_populate_bitmap() [all …]
|
| /linux/drivers/infiniband/sw/rxe/ |
| H A D | rxe_odp.c | 80 u64 iova, int access_flags, struct rxe_mr *mr) in rxe_odp_mr_init_user() argument 91 if (iova != 0) in rxe_odp_mr_init_user() 112 mr->ibmr.iova = iova; in rxe_odp_mr_init_user() 126 static inline bool rxe_check_pagefault(struct ib_umem_odp *umem_odp, u64 iova, in rxe_check_pagefault() argument 133 addr = iova & (~(BIT(umem_odp->page_shift) - 1)); in rxe_check_pagefault() 136 while (addr < iova + length) { in rxe_check_pagefault() 149 static unsigned long rxe_odp_iova_to_index(struct ib_umem_odp *umem_odp, u64 iova) in rxe_odp_iova_to_index() argument 151 return (iova - ib_umem_start(umem_odp)) >> umem_odp->page_shift; in rxe_odp_iova_to_index() 154 static unsigned long rxe_odp_iova_to_page_offset(struct ib_umem_odp *umem_odp, u64 iova) in rxe_odp_iova_to_page_offset() argument 156 return iova & (BIT(umem_odp->page_shift) - 1); in rxe_odp_iova_to_page_offset() [all …]
|
| H A D | rxe_mr.c | 27 int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length) in mr_check_range() argument 35 if (iova < mr->ibmr.iova || in mr_check_range() 36 iova + length > mr->ibmr.iova + mr->ibmr.length) { in mr_check_range() 89 static unsigned long rxe_mr_iova_to_index(struct rxe_mr *mr, u64 iova) in rxe_mr_iova_to_index() argument 94 idx = (iova - (mr->ibmr.iova & mr->page_mask)) >> PAGE_SHIFT; in rxe_mr_iova_to_index() 96 idx = (iova >> mr->page_shift) - in rxe_mr_iova_to_index() 97 (mr->ibmr.iova >> mr->page_shift); in rxe_mr_iova_to_index() 109 static unsigned long rxe_mr_iova_to_page_offset(struct rxe_mr *mr, u64 iova) in rxe_mr_iova_to_page_offset() argument 112 return iova & (PAGE_SIZE - 1); in rxe_mr_iova_to_page_offset() 114 return iova & (mr_page_size(mr) - 1); in rxe_mr_iova_to_page_offset() [all …]
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_iommu.c | 47 unsigned long iova, phys_addr_t paddr, in calc_pgsize() argument 53 unsigned long addr_merge = paddr | iova; in calc_pgsize() 83 if ((iova ^ paddr) & (pgsize_next - 1)) in calc_pgsize() 101 static int msm_iommu_pagetable_unmap(struct msm_mmu *mmu, u64 iova, in msm_iommu_pagetable_unmap() argument 112 pgsize = calc_pgsize(pagetable, iova, iova, size, &count); in msm_iommu_pagetable_unmap() 114 unmapped = ops->unmap_pages(ops, iova, pgsize, count, NULL); in msm_iommu_pagetable_unmap() 125 iova += unmapped; in msm_iommu_pagetable_unmap() 134 static int msm_iommu_pagetable_map_prr(struct msm_mmu *mmu, u64 iova, size_t len, int prot) in msm_iommu_pagetable_map_prr() argument 140 u64 addr = iova; in msm_iommu_pagetable_map_prr() 156 msm_iommu_pagetable_unmap(mmu, iova, addr - iova); in msm_iommu_pagetable_map_prr() [all …]
|
| /linux/drivers/vdpa/vdpa_user/ |
| H A D | iova_domain.c | 104 u64 iova, u64 size, u64 paddr) in vduse_domain_map_bounce_page() argument 108 u64 last = iova + size - 1; in vduse_domain_map_bounce_page() 110 while (iova <= last) { in vduse_domain_map_bounce_page() 123 map = &domain->bounce_maps[iova >> BOUNCE_MAP_SHIFT]; in vduse_domain_map_bounce_page() 125 head_map = &domain->bounce_maps[(iova & PAGE_MASK) >> BOUNCE_MAP_SHIFT]; in vduse_domain_map_bounce_page() 137 iova += BOUNCE_MAP_SIZE; in vduse_domain_map_bounce_page() 143 u64 iova, u64 size) in vduse_domain_unmap_bounce_page() argument 146 u64 last = iova + size - 1; in vduse_domain_unmap_bounce_page() 148 while (iova <= last) { in vduse_domain_unmap_bounce_page() 149 map = &domain->bounce_maps[iova >> BOUNCE_MAP_SHIFT]; in vduse_domain_unmap_bounce_page() [all …]
|
| /linux/tools/testing/selftests/iommu/ |
| H A D | iommufd_fail_nth.c | 243 __u64 iova; in TEST_FAIL_NTH() local 279 if (_test_ioctl_ioas_map(self->fd, ioas_id, buffer, BUFFER_SIZE, &iova, in TEST_FAIL_NTH() 291 .src_iova = iova, in TEST_FAIL_NTH() 299 if (_test_ioctl_ioas_unmap(self->fd, ioas_id, iova, BUFFER_SIZE, in TEST_FAIL_NTH() 303 _test_ioctl_ioas_unmap(self->fd, ioas_id, iova, BUFFER_SIZE, NULL); in TEST_FAIL_NTH() 313 __u64 iova; in TEST_FAIL_NTH() local 330 if (_test_ioctl_ioas_map(self->fd, ioas_id, buffer, 262144, &iova, in TEST_FAIL_NTH() 349 __u64 iova; in TEST_FAIL_NTH() local 366 if (_test_ioctl_ioas_map_file(self->fd, ioas_id, mfd, 0, 262144, &iova, in TEST_FAIL_NTH() 386 __u64 iova; in TEST_FAIL_NTH() local [all …]
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_mmu.c | 19 unsigned long iova, size_t size) in etnaviv_context_unmap() argument 25 unmapped_page = context->global->ops->unmap(context, iova, in etnaviv_context_unmap() 30 iova += unmapped_page; in etnaviv_context_unmap() 36 unsigned long iova, phys_addr_t paddr, in etnaviv_context_map() argument 39 unsigned long orig_iova = iova; in etnaviv_context_map() 45 ret = context->global->ops->map(context, iova, paddr, pgsize, in etnaviv_context_map() 50 iova += pgsize; in etnaviv_context_map() 63 u32 iova, unsigned int va_len, in etnaviv_iommu_map() argument 67 unsigned int da = iova; in etnaviv_iommu_map() 81 if (!IS_ALIGNED(iova | pa | bytes, SZ_4K)) { in etnaviv_iommu_map() [all …]
|