Merge git://git.infradead.org/iommu-2.6
[firefly-linux-kernel-4.4.55.git] / drivers / pci / dmar.c
index beeaef84e151b9fe68c4f48de062a3faa24f82f8..83aae47475940b383fe89c5fd3cf30c7c7cb3ec4 100644 (file)
@@ -320,7 +320,7 @@ found:
        for (bus = dev->bus; bus; bus = bus->parent) {
                struct pci_dev *bridge = bus->self;
 
-               if (!bridge || !bridge->is_pcie ||
+               if (!bridge || !pci_is_pcie(bridge) ||
                    bridge->pcie_type == PCI_EXP_TYPE_PCI_BRIDGE)
                        return 0;
 
@@ -704,8 +704,11 @@ void __init detect_intel_iommu(void)
                               "x2apic and Intr-remapping.\n");
 #endif
 #ifdef CONFIG_DMAR
-               if (ret && !no_iommu && !iommu_detected && !dmar_disabled)
+               if (ret && !no_iommu && !iommu_detected && !dmar_disabled) {
                        iommu_detected = 1;
+                       /* Make sure ACS will be enabled */
+                       pci_request_acs();
+               }
 #endif
 #ifdef CONFIG_X86
                if (ret)