Lines Matching defs:dom

370 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom)
372 return container_of(dom, struct mtk_iommu_domain, domain);
459 struct mtk_iommu_domain *dom = bank->m4u_dom;
507 if (!dom || report_iommu_fault(&dom->domain, bank->parent_dev, fault_iova,
639 static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom,
648 dom->iop = share_dom->iop;
649 dom->cfg = share_dom->cfg;
650 dom->domain.pgsize_bitmap = share_dom->cfg.pgsize_bitmap;
654 dom->cfg = (struct io_pgtable_cfg) {
664 dom->cfg.quirks |= IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT;
667 dom->cfg.oas = data->enable_4GB ? 33 : 32;
669 dom->cfg.oas = 35;
671 dom->iop = alloc_io_pgtable_ops(ARM_V7S, &dom->cfg, data);
672 if (!dom->iop) {
678 dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap;
680 data->share_dom = dom;
685 dom->domain.geometry.aperture_start = region->iova_base;
686 dom->domain.geometry.aperture_end = region->iova_base + region->size - 1;
687 dom->domain.geometry.force_aperture = true;
693 struct mtk_iommu_domain *dom;
695 dom = kzalloc(sizeof(*dom), GFP_KERNEL);
696 if (!dom)
698 mutex_init(&dom->mutex);
700 return &dom->domain;
712 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
724 mutex_lock(&dom->mutex);
725 if (!dom->bank) {
730 ret = mtk_iommu_domain_finalise(dom, frstdata, region_id);
733 mutex_unlock(&dom->mutex);
736 dom->bank = &data->bank[bankid];
738 mutex_unlock(&dom->mutex);
754 bank->m4u_dom = dom;
755 writel(dom->cfg.arm_v7s_cfg.ttbr, bank->base + REG_MMU_PT_BASE_ADDR);
802 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
805 if (dom->bank->parent_data->enable_4GB)
809 return dom->iop->map_pages(dom->iop, iova, paddr, pgsize, pgcount, prot, gfp, mapped);
816 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
819 return dom->iop->unmap_pages(dom->iop, iova, pgsize, pgcount, gather);
824 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
826 if (dom->bank)
827 mtk_iommu_tlb_flush_all(dom->bank->parent_data);
833 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
836 mtk_iommu_tlb_flush_range_sync(gather->start, length, dom->bank);
842 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
844 mtk_iommu_tlb_flush_range_sync(iova, size, dom->bank);
851 struct mtk_iommu_domain *dom = to_mtk_domain(domain);
854 pa = dom->iop->iova_to_phys(dom->iop, iova);
856 dom->bank->parent_data->enable_4GB &&