Lines Matching refs:iop

31 	container_of((x), struct arm_lpae_io_pgtable, iop)
146 struct io_pgtable iop; member
268 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_lpae_init_pte()
272 if (data->iop.fmt != ARM_MALI_LPAE && lvl == ARM_LPAE_MAX_LEVELS - 1) in __arm_lpae_init_pte()
292 if (iopte_leaf(ptep[i], lvl, data->iop.fmt)) { in arm_lpae_init_pte()
322 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_lpae_install_table()
356 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_lpae_map()
392 if (pte && !iopte_leaf(pte, lvl, data->iop.fmt)) { in __arm_lpae_map()
410 if (data->iop.fmt == ARM_64_LPAE_S1 || in arm_lpae_prot_to_pte()
411 data->iop.fmt == ARM_32_LPAE_S1) { in arm_lpae_prot_to_pte()
429 if (data->iop.fmt == ARM_64_LPAE_S2 || in arm_lpae_prot_to_pte()
430 data->iop.fmt == ARM_32_LPAE_S2) { in arm_lpae_prot_to_pte()
462 if (prot & IOMMU_CACHE && data->iop.fmt != ARM_MALI_LPAE) in arm_lpae_prot_to_pte()
470 if (data->iop.cfg.quirks & IO_PGTABLE_QUIRK_ARM_NS) in arm_lpae_prot_to_pte()
473 if (data->iop.fmt != ARM_MALI_LPAE) in arm_lpae_prot_to_pte()
484 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_lpae_map_pages()
544 if (!pte || iopte_leaf(pte, lvl, data->iop.fmt)) in __arm_lpae_free_pgtable()
550 __arm_lpae_free_pages(start, table_size, &data->iop.cfg); in __arm_lpae_free_pgtable()
553 static void arm_lpae_free_pgtable(struct io_pgtable *iop) in arm_lpae_free_pgtable() argument
555 struct arm_lpae_io_pgtable *data = io_pgtable_to_data(iop); in arm_lpae_free_pgtable()
567 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_lpae_split_blk_unmap()
613 io_pgtable_tlb_add_page(&data->iop, gather, iova + i * size, size); in arm_lpae_split_blk_unmap()
627 struct io_pgtable *iop = &data->iop; in __arm_lpae_unmap() local
650 __arm_lpae_clear_pte(ptep, &iop->cfg); in __arm_lpae_unmap()
652 if (!iopte_leaf(pte, lvl, iop->fmt)) { in __arm_lpae_unmap()
654 io_pgtable_tlb_flush_walk(iop, iova + i * size, size, in __arm_lpae_unmap()
657 } else if (iop->cfg.quirks & IO_PGTABLE_QUIRK_NON_STRICT) { in __arm_lpae_unmap()
665 io_pgtable_tlb_add_page(iop, gather, iova + i * size, size); in __arm_lpae_unmap()
673 } else if (iopte_leaf(pte, lvl, iop->fmt)) { in __arm_lpae_unmap()
692 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_lpae_unmap_pages()
735 if (iopte_leaf(pte, lvl, data->iop.fmt)) in arm_lpae_iova_to_phys()
824 data->iop.ops = (struct io_pgtable_ops) { in arm_lpae_alloc_pgtable()
931 return &data->iop; in arm_64_lpae_alloc_pgtable_s1()
1033 return &data->iop; in arm_64_lpae_alloc_pgtable_s2()
1112 return &data->iop; in arm_mali_lpae_alloc_pgtable()
1176 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_lpae_dump_ops()