From: Joonhoe Kim <26rote@gmail.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>, vkoul@kernel.org
Cc: neil.armstrong@linaro.org, mani@kernel.org,
dmitry.baryshkov@oss.qualcomm.com, val@packett.cool,
wesley.cheng@oss.qualcomm.com, linux-arm-msm@vger.kernel.org,
linux-phy@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] phy: qcom: qmp-combo: Leave the USB PCS alone in DP-only mode
Date: Tue, 3 Nov 2026 07:04:50 +0900 [thread overview]
Message-ID: <20261102220450.1670-1-26rote@gmail.com> (raw)
In-Reply-To: <4d831e77-2123-46eb-90ed-dca3c580d47e@oss.qualcomm.com>
On 11/2/26 10:32 PM, Konrad Dybcio wrote:
> On 10/23/26 2:35 PM, Joonhoe Kim wrote:
[...]
>> - ret = qmp_combo_usb_power_on(phy);
>> - if (ret) {
>> - qmp_combo_com_exit(qmp, false);
>> - return ret;
>> + if (qmp->qmpphy_mode != QMPPHY_MODE_DP_ONLY) {
>> + ret = qmp_combo_usb_power_on(phy);
[...]
> The USB sub-block provides the PIPE clock to the DWC3 controller.
> If we somehow enter DP altmode before DWC3 gets to probe, or if for
> any reason we need to access that controller (maybe debugfs reads),
> I think this will fail.
Right, there is no PIPE clock then. But there is none without this
patch either.
In DP-only mode, qmp_combo_usb_power_on() writes the USB tables over
the lanes DP is using. Here it timed out waiting for PHYSTATUS when
resuming in that mode, so phy_init() fails.
DP-only mode is usually entered after DWC3 has probed. The mux then
powers the USB PCS down under the running controller. So accessing the
controller in that state already has no PIPE clock today.
With this patch, the probe-after-DP case ends up in the same state
instead of failing in phy_init().
The missing PIPE clock does break things on Kaanapali: starting the
host in DP-only mode fails ("Host halt failed, -110"). I've sent a
dwc3-qcom series for this [1]. It switches the controller to the UTMI
clock in DP-only modes, like "qcom,select-utmi-as-pipe-clk" does
statically. It also makes the controller a mode switch, so
pmic_glink_altmode cannot set the mux before dwc3-qcom has probed.
[1] https://lore.kernel.org/all/20261102215121.738-1-26rote@gmail.com/
Thanks,
Joonhoe Kim
next prev parent reply other threads:[~2026-11-02 22:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-23 12:35 Joonhoe Kim
2026-10-27 11:20 ` Abel Vesa
2026-11-01 11:06 ` Manivannan Sadhasivam
2026-11-02 13:32 ` Konrad Dybcio
2026-11-02 22:04 ` Joonhoe Kim [this message]
2026-11-02 13:34 ` Konrad Dybcio
2026-11-02 22:04 ` Joonhoe Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261102220450.1670-1-26rote@gmail.com \
--to=26rote@gmail.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=mani@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=val@packett.cool \
--cc=vkoul@kernel.org \
--cc=wesley.cheng@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®