Skip to content

Commit 7133aad

Browse files
tdavenvidiaschythanyaku
authored andcommitted
Revert "NVIDIA: SAUCE: PCI: Remove duplication in calling pci_acs_ctrl_enabled()"
BugLink: https://bugs.launchpad.net/bugs/2121418 This reverts commit 1107101. Signed-off-by: Tushar Dave <tdave@nvidia.com> Acked-by: Matthew R. Ochs <mochs@nvidia.com> Acked-by: Nirmoy Das <nirmoyd@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Acked-by: Acked-by: nvmochs Acked-by: Noah Wager <noah.wager@canonical.com> Acked-by: Jacob Martin <jacob.martin@canonical.com> Signed-off--by: Brad Figg <bfigg@nvidia.com>
1 parent 88564c7 commit 7133aad

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

drivers/pci/quirks.c

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

47594754
static 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
*/
48654863
static 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
*/
48764875
static 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

48814881
static 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

50115012
static 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

50225024
static 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

Comments
 (0)