From: Jens Glathe The connection-status registers need time to propagate through the analog front-end (PLLs, lane training) after they are written. A 30 ms delay after ps883x_configure() brings DisplayPort Alt Mode hotplug on the Lenovo 40B0 to a reliable success rate. Tested with T14s G6 and IdeaCentre Mini with the 40B0 dock on the HDMI port with a Type-C host cable. Qualcomm firmware that programs this retimer from an MCU uses a similar post-config delay. Assisted-by: Grok(xAI):4.6 Signed-off-by: Jens Glathe --- drivers/usb/typec/mux/ps883x.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/usb/typec/mux/ps883x.c b/drivers/usb/typec/mux/ps883x.c index c185d8897e3a4..e93e958065f6f 100644 --- a/drivers/usb/typec/mux/ps883x.c +++ b/drivers/usb/typec/mux/ps883x.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -184,6 +185,15 @@ static int ps883x_configure(struct ps883x_retimer *retimer, int cfg0, return ret; } + /* + * The retimer needs time after the connection-status registers are + * written for the analog front-end (PLLs, lane training) to settle. + * Without this, DisplayPort Alt Mode hotplug is unreliable on some + * docks (e.g. Lenovo 40B0). Qualcomm firmware on platforms that + * program this chip from an MCU uses a similar post-config delay. + */ + fsleep(30000); + return 0; } -- 2.53.0