Lines Matching refs:iova

280 static void arm_smmu_tlb_inv_range_s1(unsigned long iova, size_t size,
292 iova = (iova >> 12) << 12;
293 iova |= cfg->asid;
295 arm_smmu_cb_write(smmu, idx, reg, iova);
296 iova += granule;
299 iova >>= 12;
300 iova |= (u64)cfg->asid << 48;
302 arm_smmu_cb_writeq(smmu, idx, reg, iova);
303 iova += granule >> 12;
308 static void arm_smmu_tlb_inv_range_s2(unsigned long iova, size_t size,
318 iova >>= 12;
321 arm_smmu_cb_writeq(smmu, idx, reg, iova);
323 arm_smmu_cb_write(smmu, idx, reg, iova);
324 iova += granule >> 12;
328 static void arm_smmu_tlb_inv_walk_s1(unsigned long iova, size_t size,
331 arm_smmu_tlb_inv_range_s1(iova, size, granule, cookie,
336 static void arm_smmu_tlb_inv_leaf_s1(unsigned long iova, size_t size,
339 arm_smmu_tlb_inv_range_s1(iova, size, granule, cookie,
345 unsigned long iova, size_t granule,
348 arm_smmu_tlb_inv_range_s1(iova, granule, granule, cookie,
352 static void arm_smmu_tlb_inv_walk_s2(unsigned long iova, size_t size,
355 arm_smmu_tlb_inv_range_s2(iova, size, granule, cookie,
360 static void arm_smmu_tlb_inv_leaf_s2(unsigned long iova, size_t size,
363 arm_smmu_tlb_inv_range_s2(iova, size, granule, cookie,
369 unsigned long iova, size_t granule,
372 arm_smmu_tlb_inv_range_s2(iova, granule, granule, cookie,
376 static void arm_smmu_tlb_inv_any_s2_v1(unsigned long iova, size_t size,
389 unsigned long iova, size_t granule,
425 unsigned long iova;
436 iova = arm_smmu_cb_readq(smmu, idx, ARM_SMMU_CB_FAR);
440 "Unhandled context fault: fsr=0x%x, iova=0x%08lx, fsynr=0x%x, cbfrsynra=0x%x, cb=%d\n",
441 fsr, iova, fsynr, cbfrsynra, idx);
1210 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova,
1221 ret = ops->map(ops, iova, paddr, size, prot, gfp);
1227 static size_t arm_smmu_unmap(struct iommu_domain *domain, unsigned long iova,
1238 ret = ops->unmap(ops, iova, size, gather);
1275 dma_addr_t iova)
1294 va = iova & ~0xfffUL;
1305 "iova to phys timed out on %pad. Falling back to software table walk.\n",
1306 &iova);
1308 return ops->iova_to_phys(ops, iova);
1319 addr = (phys & GENMASK_ULL(39, 12)) | (iova & 0xfff);
1327 dma_addr_t iova)
1333 return iova;
1340 return arm_smmu_iova_to_phys_hard(domain, iova);
1342 return ops->iova_to_phys(ops, iova);