[PATCH] Revert "phy: qcom: qmp-pcie: Skip PHY reset if already up"
Manivannan Sadhasivam
mani at kernel.org
Sat Oct 31 10:40:21 PDT 2026
On 2026-10-13 09:22 -0500, Michael Burch wrote:
> This reverts commit 910b828b22b7b91054b3bd4be676a017444b0e00.
>
> That commit skips the no-csr reset assert/deassert (and the 200-300us
> settle) whenever the bootloader already brought the PCIe QMP PHY up:
>
> skip_reset = qmp->skip_init &&
> !qphy_checkbits(pcs, cfg->regs[QPHY_PCS_STATUS],
> cfg->phy_status);
>
> and states its own assumption explicitly: "This relies on the assumption
> that when skip_init is enabled and the PHY is reported as up, the
> bootloader has already configured the PHY correctly and the link is in a
> usable state."
>
> That assumption does not hold on the Dell XPS 13 9345 (X1E80100). UEFI
> boots from the NVMe behind pcie6a, so the PHY is always already started
> when Linux takes over, skip_init is true, and the reset is skipped. The
> link then never retrains and the root port comes up with no endpoint:
>
> qcom-pcie 1bf8000.pcie: Device found, but not active
> pci 0006:00:00.0: [17cb:0111] type 01 class 0x060400 PCIe Root Port
> (no 0006:01:00.0, no nvme at all)
>
> "Device found, but not active" is dw_pcie_wait_for_link() reporting LTSSM
> stuck in POLL.Active/POLL.Compliance -- receiver detected, training never
> completes -- so the machine cannot find its root filesystem and drops to
> a dracut emergency shell. v7.2 is unaffected because it always performed
> the reset.
>
> The commit was applied on its own as patch 1/4 of "PCI: qcom: Add link
> retention support"; 2/4-4/4 have not landed. Without them,
> qcom_pcie_host_init() still asserts PERST# and resets the controller
> before qcom_pcie_phy_power_on(), so the link is down while
> QPHY_PCS_STATUS still reports the bootloader's state, and the skip's
> precondition never holds. Revert it until the rest of the series lands.
>
Ouch. This dependency should've been mentioned in the cover letter of the
offending series :/
> Fixes: 910b828b22b7 ("phy: qcom: qmp-pcie: Skip PHY reset if already up")
> Signed-off-by: Michael Burch <me at michaelburch.net>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam at oss.qualcomm.com>
- Mani
More information about the linux-phy
mailing list