Lines Matching full:domain
55 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_arch_invalidate_secondary_tlbs() local
58 cache_tag_flush_all(domain); in intel_arch_invalidate_secondary_tlbs()
67 cache_tag_flush_range(domain, start, end - 1, 0); in intel_arch_invalidate_secondary_tlbs()
72 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_release() local
89 spin_lock_irqsave(&domain->lock, flags); in intel_mm_release()
90 list_for_each_entry(dev_pasid, &domain->dev_pasids, link_domain) { in intel_mm_release()
95 spin_unlock_irqrestore(&domain->lock, flags); in intel_mm_release()
101 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_free_notifier() local
103 kfree(domain->qi_batch); in intel_mm_free_notifier()
104 kfree(domain); in intel_mm_free_notifier()
113 static int intel_svm_set_dev_pasid(struct iommu_domain *domain, in intel_svm_set_dev_pasid() argument
119 struct mm_struct *mm = domain->mm; in intel_svm_set_dev_pasid()
124 dev_pasid = domain_add_dev_pasid(domain, dev, pasid); in intel_svm_set_dev_pasid()
141 domain_remove_dev_pasid(domain, dev, pasid); in intel_svm_set_dev_pasid()
145 static void intel_svm_domain_free(struct iommu_domain *domain) in intel_svm_domain_free() argument
147 struct dmar_domain *dmar_domain = to_dmar_domain(domain); in intel_svm_domain_free()
161 struct dmar_domain *domain; in intel_svm_domain_alloc() local
164 domain = kzalloc(sizeof(*domain), GFP_KERNEL); in intel_svm_domain_alloc()
165 if (!domain) in intel_svm_domain_alloc()
168 domain->domain.ops = &intel_svm_domain_ops; in intel_svm_domain_alloc()
169 domain->use_first_level = true; in intel_svm_domain_alloc()
170 INIT_LIST_HEAD(&domain->dev_pasids); in intel_svm_domain_alloc()
171 INIT_LIST_HEAD(&domain->cache_tags); in intel_svm_domain_alloc()
172 spin_lock_init(&domain->cache_lock); in intel_svm_domain_alloc()
173 spin_lock_init(&domain->lock); in intel_svm_domain_alloc()
175 domain->notifier.ops = &intel_mmuops; in intel_svm_domain_alloc()
176 ret = mmu_notifier_register(&domain->notifier, mm); in intel_svm_domain_alloc()
178 kfree(domain); in intel_svm_domain_alloc()
182 return &domain->domain; in intel_svm_domain_alloc()