linux_dsm_epyc7002/drivers/pci/dwc
Kishon Vijay Abraham I 7a4db656a6 PCI: dra7xx: Create functional dependency between PCIe and PHY
PCI core access configuration space registers in resume_noirq callbacks.
In the case of dra7xx, PIPE3 PHY connected to PCIe controller has to be
enabled before accessing configuration space registers. Since
PIPE3 PHY is enabled by only configuring control module registers, no
aborts has been observed so far (though during noirq stage, interface
clock of PIPE3 PHY is not enabled).

With new TRM updates, PIPE3 PHY has to be initialized (PIPE3 PHY
registers has to be accessed) as well which requires the interface
clock of PIPE3 PHY to be enabled. The interface clock of PIPE3 PHY is
derived from OCP2SCP and hence PCIe PHY is modeled as a child of
OCP2SCP. Since pm_runtime is not enabled during noirq stage,
pm_runtime_get_sync done in phy_init doesn't enable
OCP2SCP clocks resulting in abort when PIPE3 PHY registers are
accessed.

Create a function dependency between PCIe and PHY here to make
sure PCIe is suspended before PCIe PHY/OCP2SCP and resumed after
PCIe PHY/OCP2SCP.

Suggested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
2017-10-23 11:19:27 +05:30
..
Kconfig PCI: Fix typos and whitespace errors 2017-09-01 16:35:50 -05:00
Makefile PCI: kirin: Add HiSilicon Kirin SoC PCIe controller driver 2017-07-02 18:44:12 -05:00
pci-dra7xx.c PCI: dra7xx: Create functional dependency between PCIe and PHY 2017-10-23 11:19:27 +05:30
pci-exynos.c Merge branch 'pci/host-exynos' into next 2017-09-07 13:23:56 -05:00
pci-imx6.c Merge branch 'pci/host-imx6' into next 2017-09-07 13:23:59 -05:00
pci-keystone-dw.c Merge branch 'pci/trivial' into next 2017-09-07 13:24:20 -05:00
pci-keystone.c Merge branch 'pci/host-keystone' into next 2017-09-07 13:24:01 -05:00
pci-keystone.h PCI: keystone: Use PCI_NUM_INTX 2017-08-16 13:39:31 -05:00
pci-layerscape.c PCI: layerscape: Add support for ls1088a 2017-08-29 21:55:17 -05:00
pcie-armada8k.c Merge branch 'pci/host-designware' into next 2017-09-07 13:23:55 -05:00
pcie-artpec6.c Merge branch 'pci/host-layerscape' into next 2017-09-07 13:24:02 -05:00
pcie-designware-ep.c Merge branch 'pci/trivial' into next 2017-09-07 13:24:20 -05:00
pcie-designware-host.c Merge branch 'pci/trivial' into next 2017-09-07 13:24:20 -05:00
pcie-designware-plat.c PCI: dwc: designware: Handle ->host_init() failures 2017-08-03 16:14:32 -05:00
pcie-designware.c Merge branch 'pci/trivial' into next 2017-09-07 13:24:20 -05:00
pcie-designware.h Merge branch 'pci/trivial' into next 2017-09-07 13:24:20 -05:00
pcie-hisi.c PCI: hisi: Constify dw_pcie_host_ops structure 2017-08-19 16:21:32 -05:00
pcie-kirin.c Merge branch 'pci/host-kirin' into next 2017-09-07 13:24:01 -05:00
pcie-qcom.c PCI: qcom: Add support for IPQ8074 PCIe controller 2017-08-24 11:11:23 -05:00
pcie-spear13xx.c Merge branch 'pci/host-spear13xx' into next 2017-09-07 13:24:07 -05:00