Re: [PATCH v6 04/13] PCI: tegra194: Disable PERST IRQ only in Endpoint mode
From: Vidya Sagar
Date: Fri Feb 27 2026 - 07:38:16 EST
On 24/02/26 00:11, Manikanta Maddireddy wrote:
> 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@xxxxxxxxxx>
> ---
> Changes V1 -> V6: 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 808a1e213b79..9455456028bc 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 = {
Reviewed-by: Vidya Sagar <vidyas@xxxxxxxxxx>