Lines Matching refs:dom

206 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom)  in to_mtk_domain()  argument
208 return container_of(dom, struct mtk_iommu_domain, domain); in to_mtk_domain()
272 struct mtk_iommu_domain *dom = data->m4u_dom; in mtk_iommu_isr() local
308 if (report_iommu_fault(&dom->domain, data->dev, fault_iova, in mtk_iommu_isr()
386 static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom, in mtk_iommu_domain_finalise() argument
394 dom->iop = data->m4u_dom->iop; in mtk_iommu_domain_finalise()
395 dom->cfg = data->m4u_dom->cfg; in mtk_iommu_domain_finalise()
396 dom->domain.pgsize_bitmap = data->m4u_dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise()
400 dom->cfg = (struct io_pgtable_cfg) { in mtk_iommu_domain_finalise()
410 dom->cfg.oas = data->enable_4GB ? 33 : 32; in mtk_iommu_domain_finalise()
412 dom->cfg.oas = 35; in mtk_iommu_domain_finalise()
414 dom->iop = alloc_io_pgtable_ops(ARM_V7S, &dom->cfg, data); in mtk_iommu_domain_finalise()
415 if (!dom->iop) { in mtk_iommu_domain_finalise()
421 dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise()
426 dom->domain.geometry.aperture_start = region->iova_base; in mtk_iommu_domain_finalise()
427 dom->domain.geometry.aperture_end = region->iova_base + region->size - 1; in mtk_iommu_domain_finalise()
428 dom->domain.geometry.force_aperture = true; in mtk_iommu_domain_finalise()
434 struct mtk_iommu_domain *dom; in mtk_iommu_domain_alloc() local
439 dom = kzalloc(sizeof(*dom), GFP_KERNEL); in mtk_iommu_domain_alloc()
440 if (!dom) in mtk_iommu_domain_alloc()
443 return &dom->domain; in mtk_iommu_domain_alloc()
455 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_attach_device() local
463 if (!dom->data) { in mtk_iommu_attach_device()
464 if (mtk_iommu_domain_finalise(dom, data, domid)) in mtk_iommu_attach_device()
466 dom->data = data; in mtk_iommu_attach_device()
479 data->m4u_dom = dom; in mtk_iommu_attach_device()
480 writel(dom->cfg.arm_v7s_cfg.ttbr & MMU_PT_ADDR_MASK, in mtk_iommu_attach_device()
501 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_map() local
504 if (dom->data->enable_4GB) in mtk_iommu_map()
508 return dom->iop->map(dom->iop, iova, paddr, size, prot, gfp); in mtk_iommu_map()
515 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_unmap() local
518 return dom->iop->unmap(dom->iop, iova, size, gather); in mtk_iommu_unmap()
523 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_flush_iotlb_all() local
525 mtk_iommu_tlb_flush_all(dom->data); in mtk_iommu_flush_iotlb_all()
531 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_iotlb_sync() local
535 dom->data); in mtk_iommu_iotlb_sync()
541 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_sync_map() local
543 mtk_iommu_tlb_flush_range_sync(iova, size, size, dom->data); in mtk_iommu_sync_map()
549 struct mtk_iommu_domain *dom = to_mtk_domain(domain); in mtk_iommu_iova_to_phys() local
552 pa = dom->iop->iova_to_phys(dom->iop, iova); in mtk_iommu_iova_to_phys()
554 dom->data->enable_4GB && in mtk_iommu_iova_to_phys()