|
@@ -4428,3 +4428,20 @@ static void quirk_intel_qat_vf_cap(struct pci_dev *pdev)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
|
|
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * VMD-enabled root ports will change the source ID for all messages
|
|
|
|
+ * to the VMD device. Rather than doing device matching with the source
|
|
|
|
+ * ID, the AER driver should traverse the child device tree, reading
|
|
|
|
+ * AER registers to find the faulting device.
|
|
|
|
+ */
|
|
|
|
+static void quirk_no_aersid(struct pci_dev *pdev)
|
|
|
|
+{
|
|
|
|
+ /* VMD Domain */
|
|
|
|
+ if (pdev->bus->sysdata && pci_domain_nr(pdev->bus) >= 0x10000)
|
|
|
|
+ pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID;
|
|
|
|
+}
|
|
|
|
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2030, quirk_no_aersid);
|
|
|
|
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid);
|
|
|
|
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid);
|
|
|
|
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, quirk_no_aersid);
|