diff options
Diffstat (limited to '0999-acs.gitpatch')
-rw-r--r-- | 0999-acs.gitpatch | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/0999-acs.gitpatch b/0999-acs.gitpatch index 401b27c13f1c..e075ec1d3974 100644 --- a/0999-acs.gitpatch +++ b/0999-acs.gitpatch @@ -1,28 +1,27 @@ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 1396fd2..3c0ede4 100644 +index 2fba824..a797d74 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -3892,6 +3892,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. -+ pcie_acs_override= -+ [PCIE] Override missing PCIe ACS support for: -+ downstream -+ All downstream ports - full ACS capabilities -+ multfunction -+ All multifunction devices - multifunction ACS subset -+ id:nnnn:nnnn -+ Specfic device - full ACS capabilities -+ Specified as vid:did (vendor/device ID) in hex - noioapicquirk [APIC] Disable all boot interrupt quirks. - Safety option to keep boot IRQs enabled. This - should never be necessary. +@@ -3922,6 +3922,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: ++ downstream ++ All downstream ports - full ACS capabilities ++ multifunction ++ Add multifunction devices - multifunction ACS subset ++ id:nnnn:nnnn ++ Specific device - full ACS capabilities ++ Specified as vid:did (vendor/device ID) in hex + noioapicquirk [APIC] Disable all boot interrupt quirks. + 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 4537d1e..c4f01fe 100644 +index 003950c..d3bb542 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -193,6 +193,106 @@ static int __init pci_apply_final_quirks(void) +@@ -193,6 +193,107 @@ static int __init pci_apply_final_quirks(void) } fs_initcall_sync(pci_apply_final_quirks); @@ -34,6 +33,7 @@ index 4537d1e..c4f01fe 100644 + unsigned short vendor; + unsigned short device; +}; ++ +static struct acs_on_id acs_on_ids[NUM_ACS_IDS]; +static u8 max_acs_id; + @@ -129,12 +129,12 @@ index 4537d1e..c4f01fe 100644 /* * 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 -@@ -4949,6 +5049,8 @@ static const struct pci_dev_acs_enabled { - { PCI_VENDOR_ID_NXP, 0x8d9b, pci_quirk_nxp_rp_acs }, - /* Zhaoxin Root/Downstream Ports */ - { PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs }, -+ /* allow acs for any */ -+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, - { 0 } +@@ -4950,6 +5051,8 @@ static const struct pci_dev_acs_enabled { + { PCI_VENDOR_ID_NXP, 0x8d9b, pci_quirk_nxp_rp_acs }, + /* Zhaoxin Root/Downstream Ports */ + { PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs }, ++ /* allow acs for any */ ++ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, + { 0 } }; |