From: Manikanta Maddireddy <mmaddireddy@nvidia.com>
To: <bhelgaas@google.com>, <lpieralisi@kernel.org>,
<kwilczynski@kernel.org>, <mani@kernel.org>, <robh@kernel.org>,
<krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<thierry.reding@gmail.com>, <jonathanh@nvidia.com>,
<jingoohan1@gmail.com>, <vidyas@nvidia.com>, <cassel@kernel.org>,
<18255117159@163.com>
Cc: <linux-pci@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
"Manikanta Maddireddy" <mmaddireddy@nvidia.com>
Subject: [V5,07/13] PCI: tegra194: Disable PERST IRQ only in Endpoint mode
Date: Sun, 8 Feb 2026 23:37:40 +0530 [thread overview]
Message-ID: <20260208180746.2024338-8-mmaddireddy@nvidia.com> (raw)
In-Reply-To: <20260208180746.2024338-1-mmaddireddy@nvidia.com>
The PERST (PERST#) GPIO interrupt is only registered when the controller
is operating in Endpoint mode. In Root Port mode, the PERST GPIO is
configured as an output to control downstream devices, and no interrupt
is registered for it.
Currently, tegra_pcie_dw_stop_link() unconditionally calls disable_irq()
on pex_rst_irq, which causes issues in Root Port mode where this IRQ is
not registered.
Fix this by only disabling the PERST IRQ when operating in Endpoint mode,
where the interrupt is actually registered and used to detect PERST
assertion/deassertion from the host.
Fixes: c57247f940e8 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
---
V5:
* None
V4:
* None
V3:
* None
V2:
* None
drivers/pci/controller/dwc/pcie-tegra194.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
index bc9a66ba53e2..80da5a032bd4 100644
--- a/drivers/pci/controller/dwc/pcie-tegra194.c
+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
@@ -1028,7 +1028,8 @@ static void tegra_pcie_dw_stop_link(struct dw_pcie *pci)
{
struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
- disable_irq(pcie->pex_rst_irq);
+ if (pcie->of_data->mode == DW_PCIE_EP_TYPE)
+ disable_irq(pcie->pex_rst_irq);
}
static const struct dw_pcie_ops tegra_dw_pcie_ops = {
--
2.34.1
next prev parent reply other threads:[~2026-02-08 18:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-08 18:07 [V5,00/13] Fixes to pcie-tegra194 driver Manikanta Maddireddy
2026-02-08 18:07 ` [V5,01/13] PCI: tegra194: Fix polling delay for L2 state Manikanta Maddireddy
2026-02-08 18:07 ` [V5,02/13] PCI: tegra194: Refactor LTSSM state polling on surprise down Manikanta Maddireddy
2026-02-10 17:08 ` Jon Hunter
2026-02-08 18:07 ` [V5,03/13] PCI: tegra194: Don't force the device into the D0 state before L2 Manikanta Maddireddy
2026-02-10 17:10 ` Jon Hunter
2026-02-08 18:07 ` [V5,04/13] PCI: tegra194: Free up EP resources during remove() Manikanta Maddireddy
2026-02-08 18:07 ` [V5,05/13] PCI: tegra194: Use HW version number Manikanta Maddireddy
2026-02-08 18:07 ` [V5,06/13] PCI: tegra194: Fix CBB timeout caused by DBI access before core power-on Manikanta Maddireddy
2026-02-08 18:07 ` Manikanta Maddireddy [this message]
2026-02-08 18:07 ` [V5,08/13] PCI: tegra194: Disable direct speed change for EP Manikanta Maddireddy
2026-02-08 18:07 ` [V5,09/13] PCI: tegra194: Use devm_gpiod_get_optional() to parse "nvidia,refclk-select" Manikanta Maddireddy
2026-02-08 18:07 ` [V5,10/13] PCI: tegra194: Apply pinctrl settings for both PCIe RP and EP Manikanta Maddireddy
2026-02-08 18:07 ` [V5,11/13] PCI: tegra194: Free resources during controller deinitialization Manikanta Maddireddy
2026-02-08 18:07 ` [V5,12/13] PCI: tegra194: Allow system suspend when the Endpoint link is not up Manikanta Maddireddy
2026-02-08 18:07 ` [V5,13/13] PCI: tegra194: Set LTR message request before PCIe link up Manikanta Maddireddy
2026-02-09 7:46 ` [V5,00/13] Fixes to pcie-tegra194 driver Krzysztof Kozlowski
2026-02-09 8:58 ` Manikanta Maddireddy
2026-02-10 17:18 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260208180746.2024338-8-mmaddireddy@nvidia.com \
--to=mmaddireddy@nvidia.com \
--cc=18255117159@163.com \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jingoohan1@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=krzk+dt@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=robh@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=vidyas@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®