]> www.infradead.org Git - users/hch/misc.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)
committerManivannan Sadhasivam <mani@kernel.org>
Mon, 22 Sep 2025 07:03:35 +0000 (12:33 +0530)
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>
drivers/pci/controller/dwc/pcie-tegra194.c

index 4f26086f25daf8e23cafbb2b460e1934734f4103..0c0734aa14b68078ba3b5d1efcc192566bc62f94 100644 (file)
@@ -1722,9 +1722,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");