Lines Matching refs:iop
40 container_of((x), struct arm_v7s_io_pgtable, iop)
165 struct io_pgtable iop;
236 return phys_to_virt(iopte_to_paddr(pte, lvl, &data->iop.cfg));
242 struct io_pgtable_cfg *cfg = &data->iop.cfg;
302 struct io_pgtable_cfg *cfg = &data->iop.cfg;
435 struct io_pgtable_cfg *cfg = &data->iop.cfg;
501 struct io_pgtable_cfg *cfg = &data->iop.cfg;
551 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias) ||
552 paddr >= (1ULL << data->iop.cfg.oas)))
578 static void arm_v7s_free_pgtable(struct io_pgtable *iop)
580 struct arm_v7s_io_pgtable *data = io_pgtable_to_data(iop);
583 for (i = 0; i < ARM_V7S_PTES_PER_LVL(1, &data->iop.cfg); i++) {
599 struct io_pgtable *iop = &data->iop;
614 __arm_v7s_pte_sync(ptep, ARM_V7S_CONT_PAGES, &iop->cfg);
617 io_pgtable_tlb_flush_walk(iop, iova, size, size);
627 struct io_pgtable_cfg *cfg = &data->iop.cfg;
662 io_pgtable_tlb_add_page(&data->iop, gather, iova, size);
672 struct io_pgtable *iop = &data->iop;
679 idx = ARM_V7S_LVL_IDX(iova, lvl, &iop->cfg);
709 __arm_v7s_set_pte(ptep, 0, num_entries, &iop->cfg);
714 io_pgtable_tlb_flush_walk(iop, iova, blk_size,
719 io_pgtable_tlb_add_page(iop, gather, iova, blk_size);
745 if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias)))
769 ptep += ARM_V7S_LVL_IDX(iova, ++lvl, &data->iop.cfg);
780 return iopte_to_paddr(pte, lvl, &data->iop.cfg) | (iova & ~mask);
831 data->iop.ops = (struct io_pgtable_ops) {
838 data->iop.cfg = *cfg;
881 return &data->iop;