Lines Matching refs:domain
92 struct iommu_domain *domain; in iommu_sva_bind_device() local
112 domain = iommu_get_domain_for_dev_pasid(dev, mm->pasid, in iommu_sva_bind_device()
114 if (IS_ERR(domain)) { in iommu_sva_bind_device()
115 ret = PTR_ERR(domain); in iommu_sva_bind_device()
119 if (domain) { in iommu_sva_bind_device()
120 domain->users++; in iommu_sva_bind_device()
125 domain = iommu_sva_domain_alloc(dev, mm); in iommu_sva_bind_device()
126 if (!domain) { in iommu_sva_bind_device()
131 ret = iommu_attach_device_pasid(domain, dev, mm->pasid); in iommu_sva_bind_device()
134 domain->users = 1; in iommu_sva_bind_device()
138 handle->domain = domain; in iommu_sva_bind_device()
143 iommu_domain_free(domain); in iommu_sva_bind_device()
162 struct iommu_domain *domain = handle->domain; in iommu_sva_unbind_device() local
163 ioasid_t pasid = domain->mm->pasid; in iommu_sva_unbind_device()
167 if (--domain->users == 0) { in iommu_sva_unbind_device()
168 iommu_detach_device_pasid(domain, dev, pasid); in iommu_sva_unbind_device()
169 iommu_domain_free(domain); in iommu_sva_unbind_device()
178 struct iommu_domain *domain = handle->domain; in iommu_sva_get_pasid() local
180 return domain->mm->pasid; in iommu_sva_get_pasid()