aboutsummarylogtreecommitdiffstats
path: root/add-acs-overrides.patch
diff options
context:
space:
mode:
Diffstat (limited to 'add-acs-overrides.patch')
-rw-r--r--add-acs-overrides.patch40
1 files changed, 20 insertions, 20 deletions
diff --git a/add-acs-overrides.patch b/add-acs-overrides.patch
index 4db61704bfa7..aa9b381f6d30 100644
--- a/add-acs-overrides.patch
+++ b/add-acs-overrides.patch
@@ -1,7 +1,7 @@
-From 77026d26e851bbdc1bf5d5f1b6f21be7bbac86f1 Mon Sep 17 00:00:00 2001
+From f56f33917f418568141184eb2503ec65309a8255 Mon Sep 17 00:00:00 2001
From: Mark Weiman <mark.weiman@markzz.com>
-Date: Wed, 13 Dec 2017 15:30:35 -0500
-Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.14)
+Date: Thu, 13 Dec 2018 13:15:16 -0500
+Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.18)
This an updated version of Alex Williamson's patch from:
https://lkml.org/lkml/2013/5/30/513
@@ -45,20 +45,19 @@ specific devices which enforce isolation but not provide an ACS
capability. Please contact me to have your devices added and save
your customers the hassle of this boot option.
---
- Documentation/admin-guide/kernel-parameters.txt | 9 +++
- drivers/pci/quirks.c | 101 ++++++++++++++++++++++++
+ .../admin-guide/kernel-parameters.txt | 8 ++
+ drivers/pci/quirks.c | 102 ++++++++++++++++++
2 files changed, 110 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 05496622b4ef..d4c793024f7c 100644
+index 0c404cda531a..0d45f0014f4a 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -2937,6 +2937,15 @@
+@@ -3165,6 +3165,14 @@
nomsi [MSI] If the PCI_MSI kernel config parameter is
enabled, this kernel boot option can be used to
disable the use of MSI interrupts system-wide.
-+ pci_acs_override =
-+ [PCIE] Override missing PCIe ACS support for:
++ pci_acs_override [PCIE] Override missing PCIe ACS support for:
+ downstream
+ All downstream ports - full ACS capabilities
+ multifunction
@@ -70,11 +69,11 @@ index 05496622b4ef..d4c793024f7c 100644
Safety option to keep boot IRQs enabled. This
should never be necessary.
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index f66f9375177c..7c1867f29b7f 100644
+index c0673a717239..695d99b390f7 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -3673,6 +3673,106 @@ static int __init pci_apply_final_quirks(void)
-
+@@ -194,6 +194,106 @@ static int __init pci_apply_final_quirks(void)
+ }
fs_initcall_sync(pci_apply_final_quirks);
+static bool acs_on_downstream;
@@ -178,16 +177,17 @@ index f66f9375177c..7c1867f29b7f 100644
+}
+
/*
- * Following are device-specific reset methods which can be used to
- * reset a single function if other methods (e.g. FLR, PM D0->D3) are
-@@ -4505,6 +4605,7 @@ static const struct pci_dev_acs_enabled {
- { PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
- /* APM X-Gene */
- { PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },
-+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides },
+ * Decoding should be disabled for a PCI device during BAR sizing to avoid
+ * conflict. But doing so may cause problems on host bridge and perhaps other
+@@ -4513,6 +4613,8 @@ static const struct pci_dev_acs_enabled {
+ { PCI_VENDOR_ID_AMPERE, 0xE00A, pci_quirk_xgene_acs },
+ { PCI_VENDOR_ID_AMPERE, 0xE00B, pci_quirk_xgene_acs },
+ { PCI_VENDOR_ID_AMPERE, 0xE00C, pci_quirk_xgene_acs },
++ /* allow acs for any */
++ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides },
{ 0 }
};
--
-2.15.1
+2.20.0