Lines Matching refs:domain
61 struct iommu_domain *domain;
75 /* Search for an existing domain. */
76 domain = iommu_get_domain_for_dev_pasid(dev, mm->pasid,
78 if (IS_ERR(domain)) {
79 ret = PTR_ERR(domain);
83 if (domain) {
84 domain->users++;
88 /* Allocate a new domain and set it on device pasid. */
89 domain = iommu_sva_domain_alloc(dev, mm);
90 if (!domain) {
95 ret = iommu_attach_device_pasid(domain, dev, mm->pasid);
98 domain->users = 1;
102 handle->domain = domain;
107 iommu_domain_free(domain);
126 struct iommu_domain *domain = handle->domain;
127 ioasid_t pasid = domain->mm->pasid;
131 if (--domain->users == 0) {
132 iommu_detach_device_pasid(domain, dev, pasid);
133 iommu_domain_free(domain);
142 struct iommu_domain *domain = handle->domain;
144 return domain->mm->pasid;