diff options
Diffstat (limited to 'add-acs-overrides.patch')
-rw-r--r-- | add-acs-overrides.patch | 40 |
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 |