Lines Matching defs:iova

150  * @iova: IOVA to split.
154 static inline void address_to_pte_idx(unsigned long iova, u32 *l1pt_idx,
157 iova >>= IPU3_PAGE_SHIFT;
160 *l2pt_idx = iova & IPU3_L2PT_MASK;
162 iova >>= IPU3_L2PT_SHIFT;
165 *l1pt_idx = iova & IPU3_L1PT_MASK;
210 static int __imgu_mmu_map(struct imgu_mmu *mmu, unsigned long iova,
220 address_to_pte_idx(iova, &l1pt_idx, &l2pt_idx);
244 * @iova: the virtual address
251 int imgu_mmu_map(struct imgu_mmu_info *info, unsigned long iova,
262 if (!IS_ALIGNED(iova | paddr | size, IPU3_PAGE_SIZE)) {
263 dev_err(mmu->dev, "unaligned: iova 0x%lx pa %pa size 0x%zx\n",
264 iova, &paddr, size);
268 dev_dbg(mmu->dev, "map: iova 0x%lx pa %pa size 0x%zx\n",
269 iova, &paddr, size);
272 dev_dbg(mmu->dev, "mapping: iova 0x%lx pa %pa\n", iova, &paddr);
274 ret = __imgu_mmu_map(mmu, iova, paddr);
278 iova += IPU3_PAGE_SIZE;
292 * @iova: the virtual address
299 size_t imgu_mmu_map_sg(struct imgu_mmu_info *info, unsigned long iova,
320 ret = imgu_mmu_map(info, iova + mapped, phys, s_length);
333 imgu_mmu_unmap(info, iova, mapped);
339 unsigned long iova, size_t size)
349 address_to_pte_idx(iova, &l1pt_idx, &l2pt_idx);
373 * @iova: the virtual address
379 size_t imgu_mmu_unmap(struct imgu_mmu_info *info, unsigned long iova,
390 if (!IS_ALIGNED(iova | size, IPU3_PAGE_SIZE)) {
391 dev_err(mmu->dev, "unaligned: iova 0x%lx size 0x%zx\n",
392 iova, size);
396 dev_dbg(mmu->dev, "unmap this: iova 0x%lx size 0x%zx\n", iova, size);
403 unmapped_page = __imgu_mmu_unmap(mmu, iova, IPU3_PAGE_SIZE);
407 dev_dbg(mmu->dev, "unmapped: iova 0x%lx size 0x%zx\n",
408 iova, unmapped_page);
410 iova += unmapped_page;