Re: [RFC PATCH 0/4] soc: qcom: pmic_glink: Hold back notifications over system sleep

From: Joonhoe Kim

Date: Mon Nov 02 2026 - 17:11:12 EST


I tried the series with suspend-to-idle on a Lenovo Y700 Gen 5
(TB323FU, Kaanapali/SM8850, FSA4480 on the SBU lines). This is v7.3
with out-of-tree board support. v7.3 does not have c7c56b6ec077, and
I left the UCSI connector work on system_wq as well. So only the
series kept the workers off the suspended devices. Without it, this
setup crashed on a DP sink unplugged during suspend, as in [3] of your
cover letter.

- Monitor (pin assignment C) unplugged during suspend, default wakeup
settings: the UCSI notification woke the system within a second.
The held-back notifications were passed on right after the tasks
were thawed. The altmode worker, fsa4480_set() and the UCSI
connector work ran only then. No I2C errors, no reset.

- The same with ucsi_glink wakeup disabled: no wakeup. The
notifications waited until the power key and were passed on after
resume.

- Charger plugged in during suspend, qcom_battmgr wakeup enabled and
ucsi_glink wakeup disabled: woke up 0.3 s after the plug-in.

Two things I saw on this board, both the same without the series:

- Plug-in of a DP sink during suspend (two runs with the series and
one without, each after an unplug during suspend in the same boot):
the firmware sends an altmode notification right away and a DP one
13 s later. The UCSI connector change only comes 13 s after that,
so the system wakes up 26 s after the plug-in.

- After an unplug during suspend, the DP controller is resumed before
the held-back altmode notification is passed on. It tries to train
the link to the monitor that is gone (about 10 s of timeouts), which
delays passing on the notifications by as much. It also leaves the
DP PHY initialised. So on the next resume the USB PHY init times out
and the dwc3 resume fails with -110. The plug-in runs above ended
that way, without USB.

A plug-in during suspend after a fresh boot, without the series, does
not hit the PHY problem. It still ends without a display, for another
reason in UCSI; I'll report that separately.

Tested-by: Joonhoe Kim <26rote@xxxxxxxxx> # SM8850

Thanks,
Joonhoe Kim