Lines Matching refs:iop
31 container_of((x), struct arm_lpae_io_pgtable, iop)
142 struct io_pgtable iop;
263 struct io_pgtable_cfg *cfg = &data->iop.cfg;
267 if (data->iop.fmt != ARM_MALI_LPAE && lvl == ARM_LPAE_MAX_LEVELS - 1)
287 if (iopte_leaf(ptep[i], lvl, data->iop.fmt)) {
317 struct io_pgtable_cfg *cfg = &data->iop.cfg;
351 struct io_pgtable_cfg *cfg = &data->iop.cfg;
387 if (pte && !iopte_leaf(pte, lvl, data->iop.fmt)) {
405 if (data->iop.fmt == ARM_64_LPAE_S1 ||
406 data->iop.fmt == ARM_32_LPAE_S1) {
424 if (data->iop.fmt == ARM_64_LPAE_S2 ||
425 data->iop.fmt == ARM_32_LPAE_S2) {
447 if (prot & IOMMU_CACHE && data->iop.fmt != ARM_MALI_LPAE)
455 if (data->iop.cfg.quirks & IO_PGTABLE_QUIRK_ARM_NS)
458 if (data->iop.fmt != ARM_MALI_LPAE)
469 struct io_pgtable_cfg *cfg = &data->iop.cfg;
521 if (!pte || iopte_leaf(pte, lvl, data->iop.fmt))
527 __arm_lpae_free_pages(start, table_size, &data->iop.cfg);
530 static void arm_lpae_free_pgtable(struct io_pgtable *iop)
532 struct arm_lpae_io_pgtable *data = io_pgtable_to_data(iop);
544 struct io_pgtable_cfg *cfg = &data->iop.cfg;
590 io_pgtable_tlb_add_page(&data->iop, gather, iova + i * size, size);
604 struct io_pgtable *iop = &data->iop;
627 __arm_lpae_clear_pte(ptep, &iop->cfg);
629 if (!iopte_leaf(pte, lvl, iop->fmt)) {
631 io_pgtable_tlb_flush_walk(iop, iova + i * size, size,
635 io_pgtable_tlb_add_page(iop, gather, iova + i * size, size);
643 } else if (iopte_leaf(pte, lvl, iop->fmt)) {
662 struct io_pgtable_cfg *cfg = &data->iop.cfg;
699 if (iopte_leaf(pte, lvl, data->iop.fmt))
788 data->iop.ops = (struct io_pgtable_ops) {
894 return &data->iop;
996 return &data->iop;
1075 return &data->iop;
1139 struct io_pgtable_cfg *cfg = &data->iop.cfg;