All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dave@treblig.org>
To: Sebastian Reichel <sre@kernel.org>
Cc: jens.glathe@oldschoolsolutions.biz,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Abel Vesa <abelvesa@kernel.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH 0/5] usb: typec: ps883x: fixes for older Thunderbolt 4 / USB4 docks
Date: Tue, 21 Jul 2026 16:24:06 +0000	[thread overview]
Message-ID: <al-dJjzorP-I4Yff@gallifrey> (raw)
In-Reply-To: <al6-IyyWYRnEW4VC@venus>

* Sebastian Reichel (sre@kernel.org) wrote:
> Hello,
> 
> On Sat, Jul 18, 2026 at 07:06:28PM +0200, Jens Glathe via B4 Relay wrote:
> > On Qualcomm X1E80100 platforms (e.g. Lenovo ThinkPad T14s Gen 6)
> > using the Parade PS883x retimer, connecting USB4-capable docks such
> > as the Lenovo 40B0 via a regular Type-C cable (which forces the dock
> > into Type-C fallback mode) often results in working USB but no
> > DisplayPort output.
> > 
> > This series addresses the issue with two main changes:
> > 
> > - Add a new optional DT property "parade,disable-usb4". When present,
> >   the PS883x driver rejects USB4 mode (-EOPNOTSUPP). This forces the
> >   Type-C stack to fall back to USB3 + DP Alt Mode, which works
> >   reliably with the 40B0.
> > 
> > - Refactor DP altmode handling to also support the legacy
> >   TYPEC_DP_STATE_F request (deprecated since DP Alt Mode 1.0b) sent by
> >   the 40B0 and other docks (e.g. SSK SC220).
> > 
> > - Add a short delay after writing configuration registers, which
> >   improves hotplug reliability.
> > 
> > This is a temporary workaround until full USB4 DP tunneling support is
> > available in the X1E USB4 controller and qmp-combo PHY stack.
> > 
> > Note: The DT patch adds the new property to all currently upstream
> > boards using the PS883x retimer (15 files). Happy to split it on v2
> > if requested.
> 
> I don't think a kernel driver limitation is a good reason for the DT
> property. I suggest to add something like this in the ps883x driver
> instead:
> 
> /*
>  * Hamoa does not yet support USB4, disable it for now to gracefully
>  * fall back to USB3 + DP AltMode. This should be removed once USB4
>  * support landed for X1E.
>  */
> if (of_machine_is_compatible("qcom,x1e80100"))
>     disable_usb4 = true;

It seems a bit of a weird abstraction break to put a machine type check
down in a device that's not specific to qcom.
I'd bet it's not just qcom's suffering from this as well.

Dave

> Greetings,
> 
> -- Sebastian
> 
> > As an additional observation, the same dock with type-c cable works well
> > on Thinkpad X13s, Thinkbook 16 G7 QOY, Ideapad 5 14Q8X9, but doesn't need
> > the ps883x changes (naturally). 
> > 
> > Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> > ---
> > Jens Glathe (5):
> >       dt-bindings: usb: parade,ps8830: Add parade,disable-usb4 property
> >       usb: typec: ps883x: Return -EOPNOTSUPP for USB4 when parade,disable-usb4 is set
> >       usb: typec: mux: ps883x: refactor DP altmode handling and support TYPEC_DP_STATE_F
> >       usb: typec: mux: ps883x: add a delay after writing config regs
> >       arm64: dts: qcom: x1: disable ps883x USB4 capability
> > 
> >  .../devicetree/bindings/usb/parade,ps8830.yaml     |  6 +++
> >  arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts         |  4 ++
> >  .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  |  2 +
> >  arch/arm64/boot/dts/qcom/purwa-iot-evk.dts         |  6 +++
> >  arch/arm64/boot/dts/qcom/x1-asus-vivobook-s15.dtsi |  4 ++
> >  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi  |  4 ++
> >  arch/arm64/boot/dts/qcom/x1-crd.dtsi               |  6 +++
> >  arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi        |  4 ++
> >  arch/arm64/boot/dts/qcom/x1-hp-omnibook-x14.dtsi   |  2 +
> >  arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi  |  4 ++
> >  arch/arm64/boot/dts/qcom/x1e001de-devkit.dts       |  6 +++
> >  .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi    |  4 ++
> >  .../boot/dts/qcom/x1e80100-dell-xps13-9345.dts     |  4 ++
> >  .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts  |  6 +++
> >  .../dts/qcom/x1e80100-medion-sprchrgd-14-s1.dts    |  2 +
> >  .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi  |  4 ++
> >  drivers/usb/typec/mux/ps883x.c                     | 47 +++++++++++++++-------
> >  17 files changed, 100 insertions(+), 15 deletions(-)
> > ---
> > base-commit: 0718283ab28bc3907e10b61a6b4be6fefa1cbb2f
> > change-id: 20260718-ps883x-disable-usb4-19b0fc13b5ab
> > 
> > Best regards,
> > -- 
> > Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> > 
> > 
> > 


-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\        dave @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/

  reply	other threads:[~2026-07-21 16:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-18 17:06 [PATCH 0/5] usb: typec: ps883x: fixes for older Thunderbolt 4 / USB4 docks Jens Glathe via B4 Relay
2026-07-18 17:06 ` Jens Glathe
2026-07-18 17:06 ` [PATCH 1/5] dt-bindings: usb: parade,ps8830: Add parade,disable-usb4 property Jens Glathe via B4 Relay
2026-07-18 17:06   ` Jens Glathe
2026-07-18 17:11   ` sashiko-bot
2026-07-21 10:24   ` Krzysztof Kozlowski
2026-07-18 17:06 ` [PATCH 2/5] usb: typec: ps883x: Return -EOPNOTSUPP for USB4 when parade,disable-usb4 is set Jens Glathe via B4 Relay
2026-07-18 17:06   ` Jens Glathe
2026-07-18 17:14   ` sashiko-bot
2026-07-19  1:14   ` Dr. David Alan Gilbert
2026-07-21 17:57   ` Dmitry Baryshkov
2026-07-22  8:45     ` Jens Glathe
2026-07-18 17:06 ` [PATCH 3/5] usb: typec: mux: ps883x: refactor DP altmode handling and support TYPEC_DP_STATE_F Jens Glathe via B4 Relay
2026-07-18 17:06   ` Jens Glathe
2026-07-18 17:29   ` sashiko-bot
2026-07-21 10:45   ` Heikki Krogerus
2026-07-21 18:02   ` Dmitry Baryshkov
2026-07-18 17:06 ` [PATCH 4/5] usb: typec: mux: ps883x: add a delay after writing config regs Jens Glathe via B4 Relay
2026-07-18 17:06   ` Jens Glathe
2026-07-21 10:53   ` Heikki Krogerus
2026-07-18 17:06 ` [PATCH 5/5] arm64: dts: qcom: x1: disable ps883x USB4 capability Jens Glathe via B4 Relay
2026-07-18 17:06   ` Jens Glathe
2026-07-18 17:22   ` sashiko-bot
2026-07-19  1:15   ` Dr. David Alan Gilbert
2026-07-21  0:43 ` [PATCH 0/5] usb: typec: ps883x: fixes for older Thunderbolt 4 / USB4 docks Sebastian Reichel
2026-07-21 16:24   ` Dr. David Alan Gilbert [this message]
2026-07-21 23:34     ` Sebastian Reichel
2026-07-22  8:27       ` Konrad Dybcio
2026-07-22  8:38       ` Jens Glathe
2026-07-21 17:56 ` Dmitry Baryshkov

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=al-dJjzorP-I4Yff@gallifrey \
    --to=dave@treblig.org \
    --cc=abelvesa@kernel.org \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jens.glathe@oldschoolsolutions.biz \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sre@kernel.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.