[PATCH V1 4/5] PCI: tegra: Don't allow suspend when Tegra PCIe is in EP mode

From: Om Prakash Singh
Date: Thu May 27 2021 - 03:47:04 EST


When Tegra PCIe is in endpoint mode it should be available for root port.
PCIe link up by root port fails if it is in suspend state. So, don't allow
Tegra to suspend when endpoint mode is enabled.

Signed-off-by: Om Prakash Singh <omp@xxxxxxxxxx>
---
drivers/pci/controller/dwc/pcie-tegra194.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index ae62fdc840e6..93c89f2084a7 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -2276,6 +2276,11 @@ static int tegra_pcie_dw_suspend_late(struct device *dev)
struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
u32 val;

+ if (pcie->mode == DW_PCIE_EP_TYPE) {
+ dev_err(dev, "Tegra PCIe is in EP mode, suspend not allowed");
+ return -EPERM;
+ }
+
if (!pcie->link_state)
return 0;

--
2.17.1