Home
last modified time | relevance | path

Searched refs:dmar_domain (Results 1 – 8 of 8) sorted by relevance

/linux-6.12.1/drivers/iommu/intel/
Dnested.c25 struct dmar_domain *dmar_domain = to_dmar_domain(domain); in intel_nested_attach_dev() local
33 if (iommu->agaw < dmar_domain->s2_domain->agaw) { in intel_nested_attach_dev()
43 ret = prepare_domain_attach_device(&dmar_domain->s2_domain->domain, dev); in intel_nested_attach_dev()
49 ret = domain_attach_iommu(dmar_domain, iommu); in intel_nested_attach_dev()
55 ret = cache_tag_assign_domain(dmar_domain, dev, IOMMU_NO_PASID); in intel_nested_attach_dev()
60 IOMMU_NO_PASID, dmar_domain); in intel_nested_attach_dev()
64 info->domain = dmar_domain; in intel_nested_attach_dev()
65 spin_lock_irqsave(&dmar_domain->lock, flags); in intel_nested_attach_dev()
66 list_add(&info->link, &dmar_domain->devices); in intel_nested_attach_dev()
67 spin_unlock_irqrestore(&dmar_domain->lock, flags); in intel_nested_attach_dev()
[all …]
Diommu.c287 static int domain_pfn_supported(struct dmar_domain *domain, unsigned long pfn) in domain_pfn_supported()
355 static void domain_update_iommu_coherency(struct dmar_domain *domain) in domain_update_iommu_coherency()
385 static int domain_update_iommu_superpage(struct dmar_domain *domain, in domain_update_iommu_superpage()
415 static int domain_update_device_node(struct dmar_domain *domain) in domain_update_device_node()
439 static unsigned long domain_super_pgsize_bitmap(struct dmar_domain *domain) in domain_super_pgsize_bitmap()
456 void domain_update_iommu_cap(struct dmar_domain *domain) in domain_update_iommu_cap()
668 static void domain_flush_cache(struct dmar_domain *domain, in domain_flush_cache()
807 static struct dma_pte *pfn_to_dma_pte(struct dmar_domain *domain, in pfn_to_dma_pte()
865 static struct dma_pte *dma_pfn_level_pte(struct dmar_domain *domain, in dma_pfn_level_pte()
897 static void dma_pte_clear_range(struct dmar_domain *domain, in dma_pte_clear_range()
[all …]
Dsvm.c141 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_arch_invalidate_secondary_tlbs()
158 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_release()
187 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_free_notifier()
203 struct dmar_domain *dmar_domain = to_dmar_domain(domain); in intel_svm_set_dev_pasid() local
229 spin_lock_irqsave(&dmar_domain->lock, flags); in intel_svm_set_dev_pasid()
230 list_add(&dev_pasid->link_domain, &dmar_domain->dev_pasids); in intel_svm_set_dev_pasid()
231 spin_unlock_irqrestore(&dmar_domain->lock, flags); in intel_svm_set_dev_pasid()
298 struct dmar_domain *domain; in intel_drain_pasid_prq()
556 struct dmar_domain *dmar_domain = to_dmar_domain(domain); in intel_svm_domain_free() local
559 mmu_notifier_put(&dmar_domain->notifier); in intel_svm_domain_free()
[all …]
Dcache.c43 static int cache_tag_assign(struct dmar_domain *domain, u16 did, in cache_tag_assign()
85 static void cache_tag_unassign(struct dmar_domain *domain, u16 did, in cache_tag_unassign()
108 static int __cache_tag_assign_domain(struct dmar_domain *domain, u16 did, in __cache_tag_assign_domain()
125 static void __cache_tag_unassign_domain(struct dmar_domain *domain, u16 did, in __cache_tag_unassign_domain()
136 static int __cache_tag_assign_parent_domain(struct dmar_domain *domain, u16 did, in __cache_tag_assign_parent_domain()
153 static void __cache_tag_unassign_parent_domain(struct dmar_domain *domain, u16 did, in __cache_tag_unassign_parent_domain()
164 static u16 domain_get_id_for_dev(struct dmar_domain *domain, struct device *dev) in domain_get_id_for_dev()
187 int cache_tag_assign_domain(struct dmar_domain *domain, in cache_tag_assign_domain()
218 void cache_tag_unassign_domain(struct dmar_domain *domain, in cache_tag_unassign_domain()
338 static void cache_tag_flush_iotlb(struct dmar_domain *domain, struct cache_tag *tag, in cache_tag_flush_iotlb()
[all …]
Diommu.h600 struct dmar_domain { struct
655 struct dmar_domain *s2_domain;
782 struct dmar_domain *domain; /* pointer to domain */
808 static inline struct dmar_domain *to_dmar_domain(struct iommu_domain *dom) in to_dmar_domain()
810 return container_of(dom, struct dmar_domain, domain); in to_dmar_domain()
815 domain_id_iommu(struct dmar_domain *domain, struct intel_iommu *iommu) in domain_id_iommu()
1230 int domain_attach_iommu(struct dmar_domain *domain, struct intel_iommu *iommu);
1231 void domain_detach_iommu(struct dmar_domain *domain, struct intel_iommu *iommu);
1235 void domain_update_iommu_cap(struct dmar_domain *domain);
1267 int cache_tag_assign_domain(struct dmar_domain *domain,
[all …]
Dpasid.h297 struct dmar_domain *domain,
305 u32 pasid, struct dmar_domain *domain);
Dpasid.c352 static int iommu_skip_agaw(struct dmar_domain *domain, in iommu_skip_agaw()
371 struct dmar_domain *domain, in intel_pasid_setup_second_level()
586 u32 pasid, struct dmar_domain *domain) in intel_pasid_setup_nested()
590 struct dmar_domain *s2_domain = domain->s2_domain; in intel_pasid_setup_nested()
/linux-6.12.1/arch/x86/kernel/apic/
Dmsi.c344 static struct irq_domain *dmar_domain; in dmar_get_irq_domain() local
349 if (dmar_domain) in dmar_get_irq_domain()
354 dmar_domain = msi_create_irq_domain(fn, &dmar_msi_domain_info, in dmar_get_irq_domain()
356 if (!dmar_domain) in dmar_get_irq_domain()
361 return dmar_domain; in dmar_get_irq_domain()