diff options
Diffstat (limited to 'arch/x86/pci/fixup.c')
-rw-r--r-- | arch/x86/pci/fixup.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c index 11e407489db0..f2228b150faa 100644 --- a/arch/x86/pci/fixup.c +++ b/arch/x86/pci/fixup.c | |||
@@ -618,3 +618,20 @@ static void quirk_apple_mbp_poweroff(struct pci_dev *pdev) | |||
618 | dev_info(dev, "can't work around MacBook Pro poweroff issue\n"); | 618 | dev_info(dev, "can't work around MacBook Pro poweroff issue\n"); |
619 | } | 619 | } |
620 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x8c10, quirk_apple_mbp_poweroff); | 620 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x8c10, quirk_apple_mbp_poweroff); |
621 | |||
622 | /* | ||
623 | * VMD-enabled root ports will change the source ID for all messages | ||
624 | * to the VMD device. Rather than doing device matching with the source | ||
625 | * ID, the AER driver should traverse the child device tree, reading | ||
626 | * AER registers to find the faulting device. | ||
627 | */ | ||
628 | static void quirk_no_aersid(struct pci_dev *pdev) | ||
629 | { | ||
630 | /* VMD Domain */ | ||
631 | if (is_vmd(pdev->bus)) | ||
632 | pdev->bus->bus_flags |= PCI_BUS_FLAGS_NO_AERSID; | ||
633 | } | ||
634 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2030, quirk_no_aersid); | ||
635 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid); | ||
636 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid); | ||
637 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, quirk_no_aersid); | ||