Lines Matching refs:iova

99 #define section_offs(iova) (iova & (SECT_SIZE - 1))
101 #define lpage_offs(iova) (iova & (LPAGE_SIZE - 1))
103 #define spage_offs(iova) (iova & (SPAGE_SIZE - 1))
108 static u32 lv1ent_offset(sysmmu_iova_t iova)
110 return iova >> SECT_ORDER;
113 static u32 lv2ent_offset(sysmmu_iova_t iova)
115 return (iova >> SPAGE_ORDER) & (NUM_LV2ENTRIES - 1);
183 static sysmmu_pte_t *section_entry(sysmmu_pte_t *pgtable, sysmmu_iova_t iova)
185 return pgtable + lv1ent_offset(iova);
188 static sysmmu_pte_t *page_entry(sysmmu_pte_t *sent, sysmmu_iova_t iova)
191 lv2table_base(sent)) + lv2ent_offset(iova);
316 sysmmu_iova_t iova, unsigned int num_inv)
322 writel((iova & SPAGE_MASK) | 1,
324 iova += SPAGE_SIZE;
328 writel((iova & SPAGE_MASK) | 1,
331 writel((iova & SPAGE_MASK),
333 writel((iova & SPAGE_MASK) + (num_inv - 1) * SPAGE_SIZE,
515 sysmmu_iova_t iova)
526 __sysmmu_tlb_invalidate_entry(data, iova, 1);
535 sysmmu_iova_t iova, size_t size)
559 __sysmmu_tlb_invalidate_entry(data, iova, num_inv);
923 sysmmu_pte_t *sent, sysmmu_iova_t iova, short *pgcounter)
926 WARN(1, "Trying mapping on %#08x mapped with 1MiB page", iova);
972 sysmmu_tlb_invalidate_flpdcache(data, iova);
977 return page_entry(sent, iova);
981 sysmmu_pte_t *sent, sysmmu_iova_t iova,
986 iova);
993 iova);
1011 sysmmu_tlb_invalidate_flpdcache(data, iova);
1084 sysmmu_iova_t iova = (sysmmu_iova_t)l_iova;
1093 entry = section_entry(domain->pgtable, iova);
1096 ret = lv1set_section(domain, entry, iova, paddr, prot,
1097 &domain->lv2entcnt[lv1ent_offset(iova)]);
1101 pent = alloc_lv2entry(domain, entry, iova,
1102 &domain->lv2entcnt[lv1ent_offset(iova)]);
1108 &domain->lv2entcnt[lv1ent_offset(iova)]);
1113 __func__, ret, size, iova);
1121 sysmmu_iova_t iova, size_t size)
1129 sysmmu_tlb_invalidate_entry(data, iova, size);
1139 sysmmu_iova_t iova = (sysmmu_iova_t)l_iova;
1148 ent = section_entry(domain->pgtable, iova);
1170 ent = page_entry(ent, iova);
1180 domain->lv2entcnt[lv1ent_offset(iova)] += 1;
1198 domain->lv2entcnt[lv1ent_offset(iova)] += SPAGES_PER_LPAGE;
1202 exynos_iommu_tlb_invalidate_entry(domain, iova, size);
1209 __func__, size, iova, err_pgsize);
1215 dma_addr_t iova)
1224 entry = section_entry(domain->pgtable, iova);
1227 phys = section_phys(entry) + section_offs(iova);
1229 entry = page_entry(entry, iova);
1232 phys = lpage_phys(entry) + lpage_offs(iova);
1234 phys = spage_phys(entry) + spage_offs(iova);