Re: [PATCH v2] phy: qcom: qmp-combo: Leave the USB PCS alone in DP-only mode
flat view
From: Manivannan Sadhasivam <mani@kernel.org>
Date: 2026-11-01 11:06:19
Also in:
linux-arm-msm, lkml
On 2026-10-23 21:35 +0900, Joonhoe Kim wrote:
In DP-only mode (DisplayPort pin assignments C and E) all four lanes
belong to the DisplayPort PHY and the USB PCS stays powered down.
Three paths still touch the USB PCS in this state:
- The USB controller can exit and re-init its PHY in DP-only mode, e.g.
across a system suspend that loses power. qmp_combo_usb_init() then
programs the USB serdes, lane and PCS tables over the DisplayPort
configuration and times out waiting for PHYSTATUS, and
qmp_combo_usb_exit() resets and powers down a PCS that is not in use.
- qmp_combo_typec_switch_set() powers the USB PCS off and on when the
orientation changes in DP-only mode, e.g. when a DP-only sink is
plugged in the other way round while the mux is still in DP-only
mode.
- qmp_combo_reconfigure_phy() powers the USB PCS off again when the
port leaves DP-only mode.
Skip the USB PCS in these paths in DP-only mode. Keep the
qmp_combo_com_init()/qmp_combo_com_exit() reference and usb_init_count,
so that qmp_combo_reconfigure_phy() powers the USB PCS up when the port
leaves DP-only mode.
On a Lenovo Y700 Gen 5 (TB323FU, Kaanapali) with a USB-C monitor
in pin assignment C, resume from s2idle fails with "phy initialization
timed-out", the dwc3 resume returns -110 and the following xHCI resume
hangs the system.
Fixes: 896277138c13 ("phy: qcom: qmp-combo: register a typec mux to change the QMPPHY_MODE")
Fixes: 89563a152973 ("phy: qualcomm: qmp-combo: Add preliminary USB4 support")
Signed-off-by: Joonhoe Kim <redacted>Acked-by: Manivannan Sadhasivam <redacted> - Mani -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy