--- linux-4.9/drivers/pci/quirks.c.orig 2017-02-09 21:22:48.317268656 -0500 +++ linux-4.9/drivers/pci/quirks.c 2017-02-09 21:27:32.370965329 -0500 @@ -4551,6 +4551,24 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap); /* + * On Mac Pro 11, the allocation of pci bridge memory resource + * broke ACPI Sleep Type register region. + */ +static void quirk_mac_disable_mmio_bar(struct pci_dev *dev) +{ + struct resource *b_res; + + dev_info(&dev->dev, "[Quirk] Disable mmio on Mac Pro 11\n"); + if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI) + return; + + b_res = &dev->resource[PCI_BRIDGE_RESOURCES]; + b_res[1].flags = 0; + b_res[2].flags = 0; +} +DECLARE_PCI_FIXUP_ASSIGN(PCI_VENDOR_ID_INTEL, 0x8c10, quirk_mac_disable_mmio_bar); + +/* * 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