summarylogtreecommitdiffstats
path: root/poweroff-quirk-workaround.patch
blob: 833181df379ee172acc711a0297e4675570df72a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--- 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