diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2024-11-25 22:41:00 +0300 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2024-11-25 22:41:00 +0300 |
commit | c60603ca1d2c8da9a7a6cdc1872b9cc6cb00a987 (patch) | |
tree | 9447301531e1fcd7aed7e25bed058c54b3c4caef /drivers/pci | |
parent | 72ae381b00ab3897c55f7fb493ba229dacfaac6f (diff) | |
parent | 40e2125381dc11379112485e3eefdd25c6df5375 (diff) | |
download | linux-c60603ca1d2c8da9a7a6cdc1872b9cc6cb00a987.tar.xz |
Merge branch 'pci/controller/tegra194'
- Move endpoint controller cleanups that depend on refclk from the host to
the notifier that tells us the host has deasserted PERST# (Manivannan
Sadhasivam)
* pci/controller/tegra194:
PCI: tegra194: Move controller cleanups to pex_ep_event_pex_rst_deassert()
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/controller/dwc/pcie-tegra194.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index f4bd7f5275cf..5103995cd6c7 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -1704,9 +1704,6 @@ static void pex_ep_event_pex_rst_assert(struct tegra_pcie_dw *pcie) if (ret) dev_err(pcie->dev, "Failed to go Detect state: %d\n", ret); - pci_epc_deinit_notify(pcie->pci.ep.epc); - dw_pcie_ep_cleanup(&pcie->pci.ep); - reset_control_assert(pcie->core_rst); tegra_pcie_disable_phy(pcie); @@ -1785,6 +1782,10 @@ static void pex_ep_event_pex_rst_deassert(struct tegra_pcie_dw *pcie) goto fail_phy; } + /* Perform cleanup that requires refclk */ + pci_epc_deinit_notify(pcie->pci.ep.epc); + dw_pcie_ep_cleanup(&pcie->pci.ep); + /* Clear any stale interrupt statuses */ appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L0); appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_0_0); |