Lines Matching refs:iop
40 container_of((x), struct arm_v7s_io_pgtable, iop)
165 struct io_pgtable iop;
227 return phys_to_virt(iopte_to_paddr(pte, lvl, &data->iop.cfg));
233 struct io_pgtable_cfg *cfg = &data->iop.cfg;
285 struct io_pgtable_cfg *cfg = &data->iop.cfg;
418 struct io_pgtable_cfg *cfg = &data->iop.cfg;
479 struct io_pgtable_cfg *cfg = &data->iop.cfg;
526 struct io_pgtable *iop = &data->iop;
533 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias) ||
534 paddr >= (1ULL << data->iop.cfg.oas)))
542 if (iop->cfg.quirks & IO_PGTABLE_QUIRK_TLBI_ON_MAP) {
543 io_pgtable_tlb_flush_walk(iop, iova, size,
552 static void arm_v7s_free_pgtable(struct io_pgtable *iop)
554 struct arm_v7s_io_pgtable *data = io_pgtable_to_data(iop);
573 struct io_pgtable *iop = &data->iop;
588 __arm_v7s_pte_sync(ptep, ARM_V7S_CONT_PAGES, &iop->cfg);
591 io_pgtable_tlb_flush_leaf(iop, iova, size, size);
601 struct io_pgtable_cfg *cfg = &data->iop.cfg;
636 io_pgtable_tlb_add_page(&data->iop, gather, iova, size);
646 struct io_pgtable *iop = &data->iop;
683 __arm_v7s_set_pte(ptep, 0, num_entries, &iop->cfg);
688 io_pgtable_tlb_flush_walk(iop, iova, blk_size,
692 } else if (iop->cfg.quirks & IO_PGTABLE_QUIRK_NON_STRICT) {
700 io_pgtable_tlb_add_page(iop, gather, iova, blk_size);
750 return iopte_to_paddr(pte, lvl, &data->iop.cfg) | (iova & ~mask);
788 data->iop.ops = (struct io_pgtable_ops) {
795 data->iop.cfg = *cfg;
834 return &data->iop;