Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1692317

[PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices

From Feng Kan <fkan@apm.com>
Newsgroups linux.kernel
Subject [PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices
Date 2017-07-20 02:50 +0200
Message-ID <u57Pb-7Wt-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


The APM X-Gene PCIe root port does not support ACS at this point.
However, the hw provides isolation and source validation through
the SMMU. Turn on ACS but disable all the peer to peer features.

Signed-off-by: Feng Kan <fkan@apm.com>
---
 drivers/pci/quirks.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 085fb78..0f8f1cd 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4120,6 +4120,19 @@ static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags)
 	return acs_flags ? 0 : 1;
 }
 
+static int pci_quirk_xgene_acs(struct pci_dev *dev, u16 acs_flags)
+{
+	/*
+	 * XGene root matching this quirk do not allow peer-to-peer
+	 * transactions with others, allowing masking out these bits as if they
+	 * were unimplemented in the ACS capability.
+	 */
+	acs_flags &= ~(PCI_ACS_SV | PCI_ACS_TB | PCI_ACS_RR |
+		       PCI_ACS_CR | PCI_ACS_UF | PCI_ACS_DT);
+
+	return acs_flags ? 0 : 1;
+}
+
 /*
  * Many Intel PCH root ports do provide ACS-like features to disable peer
  * transactions and validate bus numbers in requests, but do not provide an
@@ -4368,6 +4381,8 @@ static int pci_quirk_mf_endpoint_acs(struct pci_dev *dev, u16 acs_flags)
 	{ 0x10df, 0x720, pci_quirk_mf_endpoint_acs }, /* Emulex Skyhawk-R */
 	/* Cavium ThunderX */
 	{ PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
+	/* APM XGene */
+	{ PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },
 	{ 0 }
 };
 
-- 
1.8.3.1

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices Feng Kan <fkan@apm.com> - 2017-07-20 02:50 +0200
  Re: [PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices Alex Williamson <alex.williamson@redhat.com> - 2017-07-21 00:30 +0200
    Re: [PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices Feng Kan <fkan@apm.com> - 2017-07-21 22:30 +0200
      Re: [PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices Alex Williamson <alex.williamson@redhat.com> - 2017-07-24 04:10 +0200
        Re: [PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices Feng Kan <fkan@apm.com> - 2017-07-24 19:40 +0200
          Re: [PATCH V2] pci: quirk: Apply APM ACS quirk to XGene devices Alex Williamson <alex.williamson@redhat.com> - 2017-07-24 20:50 +0200

csiph-web