PCI: Add ACS quirk for Ampere root ports
The Ampere Computing PCIe root port does not support ACS at this point. However, the hardware provides isolation and source validation through the SMMU. The stream ID generated by the PCIe ports contain both the bus/device/function number as well as the port ID in its 3 most significant bits. Turn on ACS but disable all the peer-to-peer features. APM is being rebranded to Ampere. The Vendor and Device IDs change, but the functionality stays the same. Signed-off-by: Feng Kan <fkan@apm.com> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org>
This commit is contained in:
parent
204f4afa7a
commit
4ef76ad046
|
@ -4514,6 +4514,15 @@ 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 },
|
||||
/* Ampere Computing */
|
||||
{ PCI_VENDOR_ID_AMPERE, 0xE005, pci_quirk_xgene_acs },
|
||||
{ PCI_VENDOR_ID_AMPERE, 0xE006, pci_quirk_xgene_acs },
|
||||
{ PCI_VENDOR_ID_AMPERE, 0xE007, pci_quirk_xgene_acs },
|
||||
{ PCI_VENDOR_ID_AMPERE, 0xE008, pci_quirk_xgene_acs },
|
||||
{ PCI_VENDOR_ID_AMPERE, 0xE009, pci_quirk_xgene_acs },
|
||||
{ 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 },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
|
|
@ -1333,6 +1333,7 @@
|
|||
#define PCI_DEVICE_ID_IMS_TT3D 0x9135
|
||||
|
||||
#define PCI_VENDOR_ID_AMCC 0x10e8
|
||||
#define PCI_VENDOR_ID_AMPERE 0x1def
|
||||
|
||||
#define PCI_VENDOR_ID_INTERG 0x10ea
|
||||
#define PCI_DEVICE_ID_INTERG_1682 0x1682
|
||||
|
|
Loading…
Reference in New Issue