[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aWhN9nlsma5T5ixf@hu-qianyu-lv.qualcomm.com>
Date: Wed, 14 Jan 2026 18:16:22 -0800
From: Qiang Yu <qiang.yu@....qualcomm.com>
To: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
Cc: Vinod Koul <vkoul@...nel.org>, Neil Armstrong <neil.armstrong@...aro.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Jingoo Han <jingoohan1@...il.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof WilczyĆski <kwilczynski@...nel.org>,
Rob Herring <robh@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
linux-arm-msm@...r.kernel.org, linux-phy@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH 0/5] PCI: qcom: Add link retention support
On Fri, Jan 09, 2026 at 12:51:05PM +0530, Krishna Chaitanya Chundru wrote:
> This patch series introduces support for retaining the PCIe link across
> bootloader and kernel handoff on Qualcomm platforms, specifically
> X1E80100. The goal is to reduce boot time and avoid unnecessary link
> reinitialization when the link is already up.
>
> We are not enabling link retantion support for all the targets, as there
> is no guarantee that the bootloader on all targets has initialized the
> PCIe link in max supported speed. So we are enabling for hamoa & glymur
> target only for now based on the config flag.
>
> If the link is up and has link_retain is set to true in the
> ithe driver config data then enable retain logic in the controller.
>
> In phy as we already have skip init logic, the phy patch uses same
> assumption that if there is phy no csr and bootloader has done the init
> then driver can skip resetting the phy when phy status indicates it is
> up.
>
> Problem:-
> 1) As part of late init calls of clock & GENPD(for power domains) the
> framework is disabling all the unvoted resources by that time and also
> there is no sync state to keep them enabled till the probe is completed.
> Due to dependencies with regulators and phy, qcom pcie probe is happening
> after late init which is causing the resources(clocks & power domains) to
> be off which causes the link to go down. To avoid this we need to use these
> two kernel command line arguments (clk_ignore_unused & pd_ignore_unused)
> to skip disabling clocks and gendp power domains as part of late init
> for initial version. Once it is resolved we can avoid those kernel command
> line arguments.
>
> Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
Tested on Hamoa QCP and Glymur CRD, so
Tested-by: Qiang Yu <qiang.yu@....qualcomm.com>
> ---
> Krishna Chaitanya Chundru (5):
> phy: qcom: qmp-pcie: Skip PHY reset if already up
> PCI: dwc: Add support for retaining link during host init
> PCI: qcom: Keep PERST# GPIO state as-is during probe
> PCI: qcom: Add link retention support
> PCI: qcom: enable Link retain logic for Hamoa
>
> drivers/pci/controller/dwc/pcie-designware-host.c | 11 ++--
> drivers/pci/controller/dwc/pcie-designware.h | 1 +
> drivers/pci/controller/dwc/pcie-qcom.c | 62 ++++++++++++++++++++---
> drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 28 ++++++----
> 4 files changed, 83 insertions(+), 19 deletions(-)
> ---
> base-commit: fc065cadc7ed048bedbb23cb6b7c4475198f431c
> change-id: 20251001-link_retain-f181307947e4
>
> Best regards,
> --
> Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>
>
>
Powered by blists - more mailing lists