Lines Matching refs:iova
994 static unsigned long *iommu_get_spte(spt_entry *entry, unsigned long iova, int level)
1003 pte = iommu_shadow_offset(entry, iova, i);
1234 static int loongson_iommu_map(struct iommu_domain *domain, unsigned long iova,
1239 return iommu_map_page(priv, iova, pa, len, prot, GFP_KERNEL);
1242 static size_t loongson_iommu_unmap(struct iommu_domain *domain, unsigned long iova,
1247 return domain_unmap_page(priv, iova, size);
1251 dma_addr_t iova)
1262 if ((iova >= IOVA_START) && (iova < IOVA_END0)) {
1263 tmpva = iova & LA_VIRTIO_PAGE_MASK;
1265 offset = iova & ((1ULL << LA_VIRTIO_PAGE_SHIFT) - 1);
1273 pr_err("%s iova:0x%llx iommu_entry is invalid\n",
1274 __func__, iova);
1283 psentry = iommu_get_spte(entry, iova, IOMMU_PT_LEVEL0);
1288 pr_warn_once("Loongson-IOMMU: shadow pte is null or not present with iova %llx \n", iova);
1301 pa |= (iova & (page_size - 1));
1307 dma_addr_t iova)
1311 pa = loongson_iommu_iova_to_pa(domain, iova);