Loading arch/x86/kernel/amd_iommu.c +6 −2 Original line number Diff line number Diff line Loading @@ -2572,6 +2572,11 @@ static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom, static int amd_iommu_domain_has_cap(struct iommu_domain *domain, unsigned long cap) { switch (cap) { case IOMMU_CAP_CACHE_COHERENCY: return 1; } return 0; } Loading Loading @@ -2609,8 +2614,7 @@ int __init amd_iommu_init_passthrough(void) pt_domain->mode |= PAGE_MODE_NONE; while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { for_each_pci_dev(dev) { if (!check_device(&dev->dev)) continue; Loading drivers/pci/intel-iommu.c +2 −0 Original line number Diff line number Diff line Loading @@ -3698,6 +3698,8 @@ static int intel_iommu_domain_has_cap(struct iommu_domain *domain, if (cap == IOMMU_CAP_CACHE_COHERENCY) return dmar_domain->iommu_snooping; if (cap == IOMMU_CAP_INTR_REMAP) return intr_remapping_enabled; return 0; } Loading include/linux/iommu.h +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ struct iommu_domain { }; #define IOMMU_CAP_CACHE_COHERENCY 0x1 #define IOMMU_CAP_INTR_REMAP 0x2 /* isolates device intrs */ struct iommu_ops { int (*domain_init)(struct iommu_domain *domain); Loading Loading
arch/x86/kernel/amd_iommu.c +6 −2 Original line number Diff line number Diff line Loading @@ -2572,6 +2572,11 @@ static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom, static int amd_iommu_domain_has_cap(struct iommu_domain *domain, unsigned long cap) { switch (cap) { case IOMMU_CAP_CACHE_COHERENCY: return 1; } return 0; } Loading Loading @@ -2609,8 +2614,7 @@ int __init amd_iommu_init_passthrough(void) pt_domain->mode |= PAGE_MODE_NONE; while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { for_each_pci_dev(dev) { if (!check_device(&dev->dev)) continue; Loading
drivers/pci/intel-iommu.c +2 −0 Original line number Diff line number Diff line Loading @@ -3698,6 +3698,8 @@ static int intel_iommu_domain_has_cap(struct iommu_domain *domain, if (cap == IOMMU_CAP_CACHE_COHERENCY) return dmar_domain->iommu_snooping; if (cap == IOMMU_CAP_INTR_REMAP) return intr_remapping_enabled; return 0; } Loading
include/linux/iommu.h +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ struct iommu_domain { }; #define IOMMU_CAP_CACHE_COHERENCY 0x1 #define IOMMU_CAP_INTR_REMAP 0x2 /* isolates device intrs */ struct iommu_ops { int (*domain_init)(struct iommu_domain *domain); Loading