]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: tegra194: Fix duplicate PLL disable in pex_ep_event_pex_rst_assert()
authorNagarjuna Kristam <nkristam@nvidia.com>
Thu, 11 Sep 2025 09:30:22 +0000 (11:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Oct 2025 09:56:36 +0000 (11:56 +0200)
[ Upstream commit 4f152338e384a3a47dd61909e1457539fa93f5a4 ]

During PERST# assertion tegra_pcie_bpmp_set_pll_state() is currently
called twice.

pex_ep_event_pex_rst_assert() should do the opposite of
pex_ep_event_pex_rst_deassert(), so it is obvious that the duplicate
tegra_pcie_bpmp_set_pll_state() is a mistake, and that the duplicate
tegra_pcie_bpmp_set_pll_state() call should instead be a call to
tegra_pcie_bpmp_set_ctrl_state().

With this, the uninitialization sequence also matches that of
tegra_pcie_unconfig_controller().

Fixes: a54e19073718 ("PCI: tegra194: Add Tegra234 PCIe support")
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
[cassel: improve commit log]
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20250911093021.1454385-2-cassel@kernel.org
[mani: added Fixes tag]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/dwc/pcie-tegra194.c

index 0839454fe4994ea4ea09bf3a217f90e4e2280048..5100d2a53b8ab1485a58fc738e3cdcb374370977 100644 (file)
@@ -1720,9 +1720,9 @@ static void pex_ep_event_pex_rst_assert(struct tegra_pcie_dw *pcie)
                                ret);
        }
 
-       ret = tegra_pcie_bpmp_set_pll_state(pcie, false);
+       ret = tegra_pcie_bpmp_set_ctrl_state(pcie, false);
        if (ret)
-               dev_err(pcie->dev, "Failed to turn off UPHY: %d\n", ret);
+               dev_err(pcie->dev, "Failed to disable controller: %d\n", ret);
 
        pcie->ep_state = EP_STATE_DISABLED;
        dev_dbg(pcie->dev, "Uninitialization of endpoint is completed\n");