Lines Matching refs:io_domain

75 	struct iommu_domain io_domain;  member
86 return container_of(dom, struct ipmmu_vmsa_domain, io_domain); in to_vmsa_domain()
440 domain->io_domain.geometry.aperture_end = DMA_BIT_MASK(32); in ipmmu_domain_init_context()
441 domain->io_domain.geometry.force_aperture = true; in ipmmu_domain_init_context()
530 if (!report_iommu_fault(&domain->io_domain, mmu->dev, iova, 0)) in ipmmu_domain_irq()
578 return &domain->io_domain; in __ipmmu_domain_alloc()
583 struct iommu_domain *io_domain = NULL; in ipmmu_domain_alloc() local
587 io_domain = __ipmmu_domain_alloc(type); in ipmmu_domain_alloc()
591 io_domain = __ipmmu_domain_alloc(type); in ipmmu_domain_alloc()
592 if (io_domain && iommu_get_dma_cookie(io_domain)) { in ipmmu_domain_alloc()
593 kfree(io_domain); in ipmmu_domain_alloc()
594 io_domain = NULL; in ipmmu_domain_alloc()
599 return io_domain; in ipmmu_domain_alloc()
602 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free() argument
604 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_domain_free()
610 iommu_put_dma_cookie(io_domain); in ipmmu_domain_free()
616 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device() argument
621 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_attach_device()
665 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device() argument
669 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_detach_device()
680 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map() argument
683 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_map()
691 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap() argument
694 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_unmap()
699 static void ipmmu_flush_iotlb_all(struct iommu_domain *io_domain) in ipmmu_flush_iotlb_all() argument
701 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_flush_iotlb_all()
707 static void ipmmu_iotlb_sync(struct iommu_domain *io_domain, in ipmmu_iotlb_sync() argument
710 ipmmu_flush_iotlb_all(io_domain); in ipmmu_iotlb_sync()
713 static phys_addr_t ipmmu_iova_to_phys(struct iommu_domain *io_domain, in ipmmu_iova_to_phys() argument
716 struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain); in ipmmu_iova_to_phys()