@@ -4664,12 +4664,6 @@ static int pci_acs_ctrl_enabled(u16 acs_ctrl_req, u16 acs_ctrl_ena)
46644664 return 0 ;
46654665}
46664666
4667- static int pci_acs_ctrl_isolated (u16 acs_flags )
4668- {
4669- return pci_acs_ctrl_enabled (acs_flags ,
4670- PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
4671- }
4672-
46734667/*
46744668 * AMD has indicated that the devices below do not support peer-to-peer
46754669 * in any system where they are found in the southbridge with an AMD
@@ -4753,7 +4747,8 @@ static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags)
47534747 * hardware implements and enables equivalent ACS functionality for
47544748 * these flags.
47554749 */
4756- return pci_acs_ctrl_isolated (acs_flags );
4750+ return pci_acs_ctrl_enabled (acs_flags ,
4751+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
47574752}
47584753
47594754static int pci_quirk_xgene_acs (struct pci_dev * dev , u16 acs_flags )
@@ -4763,7 +4758,8 @@ static int pci_quirk_xgene_acs(struct pci_dev *dev, u16 acs_flags)
47634758 * transactions with others, allowing masking out these bits as if they
47644759 * were unimplemented in the ACS capability.
47654760 */
4766- return pci_acs_ctrl_isolated (acs_flags );
4761+ return pci_acs_ctrl_enabled (acs_flags ,
4762+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
47674763}
47684764
47694765/*
@@ -4786,7 +4782,8 @@ static int pci_quirk_zhaoxin_pcie_ports_acs(struct pci_dev *dev, u16 acs_flags)
47864782 case 0x0710 ... 0x071e :
47874783 case 0x0721 :
47884784 case 0x0723 ... 0x0752 :
4789- return pci_acs_ctrl_isolated (acs_flags );
4785+ return pci_acs_ctrl_enabled (acs_flags ,
4786+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
47904787 }
47914788
47924789 return false;
@@ -4847,7 +4844,8 @@ static int pci_quirk_intel_pch_acs(struct pci_dev *dev, u16 acs_flags)
48474844 return - ENOTTY ;
48484845
48494846 if (dev -> dev_flags & PCI_DEV_FLAGS_ACS_ENABLED_QUIRK )
4850- return pci_acs_ctrl_isolated (acs_flags );
4847+ return pci_acs_ctrl_enabled (acs_flags ,
4848+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
48514849
48524850 return pci_acs_ctrl_enabled (acs_flags , 0 );
48534851}
@@ -4864,7 +4862,8 @@ static int pci_quirk_intel_pch_acs(struct pci_dev *dev, u16 acs_flags)
48644862 */
48654863static int pci_quirk_qcom_rp_acs (struct pci_dev * dev , u16 acs_flags )
48664864{
4867- return pci_acs_ctrl_isolated (acs_flags );
4865+ return pci_acs_ctrl_enabled (acs_flags ,
4866+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
48684867}
48694868
48704869/*
@@ -4875,7 +4874,8 @@ static int pci_quirk_qcom_rp_acs(struct pci_dev *dev, u16 acs_flags)
48754874 */
48764875static int pci_quirk_nxp_rp_acs (struct pci_dev * dev , u16 acs_flags )
48774876{
4878- return pci_acs_ctrl_isolated (acs_flags );
4877+ return pci_acs_ctrl_enabled (acs_flags ,
4878+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
48794879}
48804880
48814881static int pci_quirk_al_acs (struct pci_dev * dev , u16 acs_flags )
@@ -5005,7 +5005,8 @@ static int pci_quirk_rciep_acs(struct pci_dev *dev, u16 acs_flags)
50055005 if (pci_pcie_type (dev ) != PCI_EXP_TYPE_RC_END )
50065006 return - ENOTTY ;
50075007
5008- return pci_acs_ctrl_isolated (acs_flags );
5008+ return pci_acs_ctrl_enabled (acs_flags ,
5009+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
50095010}
50105011
50115012static int pci_quirk_brcm_acs (struct pci_dev * dev , u16 acs_flags )
@@ -5016,7 +5017,8 @@ static int pci_quirk_brcm_acs(struct pci_dev *dev, u16 acs_flags)
50165017 * Allow each Root Port to be in a separate IOMMU group by masking
50175018 * SV/RR/CR/UF bits.
50185019 */
5019- return pci_acs_ctrl_isolated (acs_flags );
5020+ return pci_acs_ctrl_enabled (acs_flags ,
5021+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
50205022}
50215023
50225024static int pci_quirk_loongson_acs (struct pci_dev * dev , u16 acs_flags )
@@ -5047,7 +5049,8 @@ static int pci_quirk_wangxun_nic_acs(struct pci_dev *dev, u16 acs_flags)
50475049 case 0x1001 : case 0x2001 : /* SP */
50485050 case 0x5010 : case 0x5025 : case 0x5040 : /* AML */
50495051 case 0x5110 : case 0x5125 : case 0x5140 : /* AML */
5050- return pci_acs_ctrl_isolated (acs_flags );
5052+ return pci_acs_ctrl_enabled (acs_flags ,
5053+ PCI_ACS_SV | PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_UF );
50515054 }
50525055
50535056 return false;
0 commit comments