Lines Matching refs:iova

261 static void arm_smmu_tlb_inv_range_s1(unsigned long iova, size_t size,
273 iova = (iova >> 12) << 12;
274 iova |= cfg->asid;
276 arm_smmu_cb_write(smmu, idx, reg, iova);
277 iova += granule;
280 iova >>= 12;
281 iova |= (u64)cfg->asid << 48;
283 arm_smmu_cb_writeq(smmu, idx, reg, iova);
284 iova += granule >> 12;
289 static void arm_smmu_tlb_inv_range_s2(unsigned long iova, size_t size,
299 iova >>= 12;
302 arm_smmu_cb_writeq(smmu, idx, reg, iova);
304 arm_smmu_cb_write(smmu, idx, reg, iova);
305 iova += granule >> 12;
309 static void arm_smmu_tlb_inv_walk_s1(unsigned long iova, size_t size,
318 arm_smmu_tlb_inv_range_s1(iova, size, granule, cookie,
325 unsigned long iova, size_t granule,
328 arm_smmu_tlb_inv_range_s1(iova, granule, granule, cookie,
332 static void arm_smmu_tlb_inv_walk_s2(unsigned long iova, size_t size,
335 arm_smmu_tlb_inv_range_s2(iova, size, granule, cookie,
341 unsigned long iova, size_t granule,
344 arm_smmu_tlb_inv_range_s2(iova, granule, granule, cookie,
348 static void arm_smmu_tlb_inv_walk_s2_v1(unsigned long iova, size_t size,
361 unsigned long iova, size_t granule,
394 unsigned long iova;
406 iova = arm_smmu_cb_readq(smmu, idx, ARM_SMMU_CB_FAR);
409 ret = report_iommu_fault(domain, NULL, iova,
414 "Unhandled context fault: fsr=0x%x, iova=0x%08lx, fsynr=0x%x, cbfrsynra=0x%x, cb=%d\n",
415 fsr, iova, fsynr, cbfrsynra, idx);
1177 static int arm_smmu_map_pages(struct iommu_domain *domain, unsigned long iova,
1189 ret = ops->map_pages(ops, iova, paddr, pgsize, pgcount, prot, gfp, mapped);
1195 static size_t arm_smmu_unmap_pages(struct iommu_domain *domain, unsigned long iova,
1207 ret = ops->unmap_pages(ops, iova, pgsize, pgcount, iotlb_gather);
1244 dma_addr_t iova)
1263 va = iova & ~0xfffUL;
1274 "iova to phys timed out on %pad. Falling back to software table walk.\n",
1275 &iova);
1277 return ops->iova_to_phys(ops, iova);
1288 addr = (phys & GENMASK_ULL(39, 12)) | (iova & 0xfff);
1296 dma_addr_t iova)
1306 return arm_smmu_iova_to_phys_hard(domain, iova);
1308 return ops->iova_to_phys(ops, iova);