Lines Matching refs:iop

40 	container_of((x), struct arm_v7s_io_pgtable, iop)
165 struct io_pgtable iop; member
231 return phys_to_virt(iopte_to_paddr(pte, lvl, &data->iop.cfg)); in iopte_deref()
237 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_v7s_alloc_table()
289 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_v7s_free_table()
422 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_v7s_init_pte()
483 struct io_pgtable_cfg *cfg = &data->iop.cfg; in __arm_v7s_map()
537 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias) || in arm_v7s_map_pages()
538 paddr >= (1ULL << data->iop.cfg.oas))) in arm_v7s_map_pages()
567 static void arm_v7s_free_pgtable(struct io_pgtable *iop) in arm_v7s_free_pgtable() argument
569 struct arm_v7s_io_pgtable *data = io_pgtable_to_data(iop); in arm_v7s_free_pgtable()
572 for (i = 0; i < ARM_V7S_PTES_PER_LVL(1, &data->iop.cfg); i++) { in arm_v7s_free_pgtable()
588 struct io_pgtable *iop = &data->iop; in arm_v7s_split_cont() local
603 __arm_v7s_pte_sync(ptep, ARM_V7S_CONT_PAGES, &iop->cfg); in arm_v7s_split_cont()
606 io_pgtable_tlb_flush_walk(iop, iova, size, size); in arm_v7s_split_cont()
616 struct io_pgtable_cfg *cfg = &data->iop.cfg; in arm_v7s_split_blk_unmap()
651 io_pgtable_tlb_add_page(&data->iop, gather, iova, size); in arm_v7s_split_blk_unmap()
661 struct io_pgtable *iop = &data->iop; in __arm_v7s_unmap() local
668 idx = ARM_V7S_LVL_IDX(iova, lvl, &iop->cfg); in __arm_v7s_unmap()
698 __arm_v7s_set_pte(ptep, 0, num_entries, &iop->cfg); in __arm_v7s_unmap()
703 io_pgtable_tlb_flush_walk(iop, iova, blk_size, in __arm_v7s_unmap()
707 } else if (iop->cfg.quirks & IO_PGTABLE_QUIRK_NON_STRICT) { in __arm_v7s_unmap()
715 io_pgtable_tlb_add_page(iop, gather, iova, blk_size); in __arm_v7s_unmap()
741 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias))) in arm_v7s_unmap_pages()
771 ptep += ARM_V7S_LVL_IDX(iova, ++lvl, &data->iop.cfg); in arm_v7s_iova_to_phys()
782 return iopte_to_paddr(pte, lvl, &data->iop.cfg) | (iova & ~mask); in arm_v7s_iova_to_phys()
819 data->iop.ops = (struct io_pgtable_ops) { in arm_v7s_alloc_pgtable()
828 data->iop.cfg = *cfg; in arm_v7s_alloc_pgtable()
867 return &data->iop; in arm_v7s_alloc_pgtable()