Lines Matching refs:l1index
189 unsigned int l1index) in l2alloc() argument
193 if (!sh_domain->l2[l1index].pgtable) { in l2alloc()
194 ret = pgtable_alloc(&sh_domain->l2[l1index], l2cache, L2_SIZE); in l2alloc()
198 pgtable_write(&sh_domain->l1, l1index, 1, in l2alloc()
199 sh_domain->l2[l1index].handle | 0x1); in l2alloc()
210 unsigned int l1index, in l2free() argument
213 pgtable_write(&sh_domain->l1, l1index, 1, 0); in l2free()
214 if (sh_domain->l2[l1index].pgtable) { in l2free()
215 *l2 = sh_domain->l2[l1index]; in l2free()
216 sh_domain->l2[l1index].pgtable = NULL; in l2free()
225 unsigned int l1index, l2index; in shmobile_iommu_map() local
228 l1index = iova >> 20; in shmobile_iommu_map()
233 ret = l2alloc(sh_domain, l1index); in shmobile_iommu_map()
235 pgtable_write(&sh_domain->l2[l1index], l2index, 1, in shmobile_iommu_map()
242 ret = l2alloc(sh_domain, l1index); in shmobile_iommu_map()
244 pgtable_write(&sh_domain->l2[l1index], l2index, 0x10, in shmobile_iommu_map()
250 l2free(sh_domain, l1index, &l2); in shmobile_iommu_map()
251 pgtable_write(&sh_domain->l1, l1index, 1, paddr | 0xc02); in shmobile_iommu_map()
269 unsigned int l1index, l2index; in shmobile_iommu_unmap() local
273 l1index = iova >> 20; in shmobile_iommu_unmap()
276 l2free(sh_domain, l1index, &l2); in shmobile_iommu_unmap()
283 if (sh_domain->l2[l1index].pgtable) in shmobile_iommu_unmap()
284 l2entry = pgtable_read(&sh_domain->l2[l1index], l2index); in shmobile_iommu_unmap()
289 pgtable_write(&sh_domain->l2[l1index], l2index, 0x10, 0); in shmobile_iommu_unmap()
293 pgtable_write(&sh_domain->l2[l1index], l2index, 1, 0); in shmobile_iommu_unmap()
310 unsigned int l1index, l2index; in shmobile_iommu_iova_to_phys() local
312 l1index = iova >> 20; in shmobile_iommu_iova_to_phys()
315 if (sh_domain->l2[l1index].pgtable) in shmobile_iommu_iova_to_phys()
316 l2entry = pgtable_read(&sh_domain->l2[l1index], l2index); in shmobile_iommu_iova_to_phys()
318 l1entry = pgtable_read(&sh_domain->l1, l1index); in shmobile_iommu_iova_to_phys()