X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=patches%2Fkernel%2F0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch;h=0997855c2f900108f36fbdbd233dc28a73160d93;hb=6865b4eac1bb03ff9f4ae7cedb2f459075ee4430;hp=969d5cbf30d1775ade9e950d63d7bafccc98529e;hpb=15baf5b4c2b0ecf549431f4ccaba93157ec0f2f9;p=pve-kernel.git diff --git a/patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch b/patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch index 969d5cb..0997855 100644 --- a/patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch +++ b/patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch @@ -48,21 +48,22 @@ capability. Please contact me to have your devices added and save your customers the hassle of this boot option. Signed-off-by: Fabian Grünbichler +Signed-off-by: Thomas Lamprecht --- - Documentation/admin-guide/kernel-parameters.txt | 9 +++ - drivers/pci/quirks.c | 101 ++++++++++++++++++++++++ - 2 files changed, 110 insertions(+) + .../admin-guide/kernel-parameters.txt | 9 ++ + drivers/pci/quirks.c | 102 ++++++++++++++++++ + 2 files changed, 111 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 27ca3fbc47aa..5e3caff3fb49 100644 +index dc93d6b94d82..b9a5d6aa44fb 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -2968,6 +2968,15 @@ - 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. +@@ -3434,6 +3434,15 @@ + Also, it enforces the PCI Local Bus spec + rule that those bits should be 0 in system reset + events (useful for kexec/kdump cases). + pci_acs_override = -+ [PCIE] Override missing PCIe ACS support for: ++ [PCIE] Override missing PCIe ACS support for: + downstream + All downstream ports - full ACS capabilities + multifunction @@ -74,11 +75,11 @@ index 27ca3fbc47aa..5e3caff3fb49 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 db82bef43b99..ed94ba0d0922 100644 +index 25f5e253decd..0a0fd4db3908 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -3695,6 +3695,106 @@ static int __init pci_apply_final_quirks(void) - +@@ -192,6 +192,106 @@ static int __init pci_apply_final_quirks(void) + } fs_initcall_sync(pci_apply_final_quirks); +static bool acs_on_downstream; @@ -182,16 +183,14 @@ index db82bef43b99..ed94ba0d0922 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 -@@ -4527,6 +4627,7 @@ static const struct pci_dev_acs_enabled { + * 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 +@@ -4796,6 +4896,8 @@ 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 }, ++ /* Enable overrides for missing ACS capabilities */ + { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, - { 0 } - }; - --- -2.14.2 - + /* Ampere Computing */ + { PCI_VENDOR_ID_AMPERE, 0xE005, pci_quirk_xgene_acs }, + { PCI_VENDOR_ID_AMPERE, 0xE006, pci_quirk_xgene_acs },