On 31/01/2024 22:23, Thinh Nguyen wrote: > [...] > I just expected this to happen for S4 and not S3. Our test environment > is different. I guess the "local" clock is turned off for S3. Perhaps we > should change the trace_clock for one that doesn't stop on suspend. If > you're using x86 TSC clock, maybe try this next time? > > # echo x86-tsc > /sys/kernel/debug/tracing/trace_clock > Hi Thinh, tried it now in the first test with keyboard connected in host mode: bash-1015 [002] ...1. 852256557544: dwc3_suspend <-dpm_run_callback kworker/u32:19-1099 [004] ...1. 852259924040: dwc3_pci_suspend <-pci_pm_suspend kworker/u32:26-1107 [002] ...1. 853901309968: dwc3_pci_resume <-dpm_run_callback bash-1015 [006] ...1. 853944152544: dwc3_resume <-dpm_run_callback bash-1015 [006] ...1. 853944158900: dwc3_core_init_for_resume <-dwc3_resume_common So...did it work?! System was in suspend mode for ~4 min, but how do I map these TSC timestamps to real time? heh >> [...] >> $ dmesg | grep "suspend\|xhci" >> [227.990149] PM: suspend entry (deep) >> [228.012255] printk: Suspending console(s) (use no_console_suspend to debug) >> [228.041056] xhci-hcd xhci-hcd.2.auto: xhci_plat_suspend: >> device_may_wakeup: 0 > > This confirms that the xhci platform device created by dwc3 doesn't > enable wakeup. This actually inline with what we thought in the > beginning. But from the discussion and tests you did, we can deduce > further what had happened now. > > Can you test another scenario. Connect an HID device such as a keyboard > to the STEAM DECK. Have the DECK run as host. Put it to sleep, check to > see if the keyboard can remote wakeup the DECK. If remote wakeup doesn't > work, can you try this in addition to the previous patch? > At first, it didn't work - I couldn't wakeup the system from the keyboard. Then I added the hunk below on top of the previous patch: /* Perhaps we need to enable wakeup for xhci->dev? */ if (dwc->sys_wakeup) { device_init_wakeup(&xhci->dev, true); device_wakeup_enable(dwc->sysdev); } And..that also didn't work! With or without the patch (+ above hunk), can't wakeup from keyboard, in S3/deep. But guess what? Keyboard *does wake* the system in s2idle, with or without the patch!!! Interesting ... Notice that all my tests are on top of v6.8-rc2. > [...] > No problem. I'm glad we can debug this without probing into the > hardward. I'll rework the patch so that it can be submitted. Your > Tested-by will be very helpful. > Awesome, thanks again! Please CC my email in the final patch and I'll be glad in testing. Cheers, Guilherme