Re: [PATCH v3] PCI: qcom-ep: Enable controller resources like PHY only after refclk is available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

> qcom_pcie_enable_resources() is called by qcom_pcie_ep_probe() and it
> enables the controller resources like clocks, regulator, PHY. On one of the
> new unreleased Qcom SoC, PHY enablement depends on the active refclk. And
> on all of the supported Qcom endpoint SoCs, refclk comes from the host
> (RC). So calling qcom_pcie_enable_resources() without refclk causes the
> NoC (Network On Chip) error in the endpoint SoC and in turn results in a
> whole SoC crash and rebooting into EDL (Emergency Download) mode which is
> an unrecoverable state.
> 
> But qcom_pcie_enable_resources() is already called by
> qcom_pcie_perst_deassert() when PERST# is deasserted, and refclk is
> available at that time.
> 
> Hence, remove the unnecessary call to qcom_pcie_enable_resources() from
> qcom_pcie_ep_probe() to prevent the above mentioned crash.
> 
> It should be noted that this commit prevents the crash only under normal
> working condition (booting endpoint before host), but the crash may also
> occur if PERST# assert happens at the wrong time. For avoiding the crash
> completely, it is recommended to use SRIS mode which allows the endpoint
> SoC to generate its own refclk. The driver is not supporting SRIS mode
> currently, but will be added in the future.

Applied to controller/qcom, thank you!

[1/1] PCI: qcom-ep: Enable controller resources like PHY only after refclk is available
      https://git.kernel.org/pci/pci/c/d3745e3ae6c0

	Krzysztof




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux