Created attachment 305826 [details] output of `s0ix-selftest-tool.sh -s` I'm using Intel's S0ixSelftestTool (https://github.com/intel/S0ixSelftestTool/) as I was getting seemingly high battery drain in sleep. I've had this happen on Arch, Mint, Fedora (with the distros' kernels) and I'm currently running OpenSUSE with vanilla kernel 6.7.3. I've set the severity to high as a feature that I need for day-to-day use is broken. According to the logs, the self-test can get the CPU into PC10 state, but the logs state: "Your system supports S0ix substates, but did not achieve the shallowest s0i2.0" Reproducible: Always Steps to Reproduce: 1. Run `s0ix-selftest-tool.sh -s` 2. Check for s0 residency Actual Results: CPU Core C7 residency after S2idle is: 97.26 GFX RC6 residency after S2idle is: CPU Package C-state 2 residency after S2idle is: 4.02 CPU Package C-state 3 residency after S2idle is: 1.50 CPU Package C-state 8 residency after S2idle is: 0.43 CPU Package C-state 9 residency after S2idle is: 1.37 CPU Package C-state 10 residency after S2idle is: 84.44 S0ix residency after S2idle is: 0.00 Your system supports S0ix substates, but did not achieve the shallowest s0i2.0 Here is the S0ix substates status: Substate Residency S0i2.0 0 S0i3.0 0 (...) Did not detect the potential blockers from substate_requirements, need to check substate_status_registers file for the advanced debug. (...) Your system south port controller power gating state is OK after 30 seconds runtime check. Expected Results: Residency in one of the s0 states Attachments: - output of `s0ix-selftest-tool.sh -s` - /proc/config.gz - output of `lspci -vvv` - output of `awk -f scripts/ver_linux` - /proc/cpuinfo - /proc/ioports - /proc/iomem - /proc/modules - output of `dmesg` after boot - additional output of `dmesg` after running `s0ix-selftest-tool.sh -s`
Created attachment 305827 [details] /proc/config.gz
Created attachment 305828 [details] output of `lspci -vvv`
Created attachment 305829 [details] output of `awk -f scripts/ver_linux`
Created attachment 305830 [details] /proc/cpuinfo
Created attachment 305831 [details] /proc/ioports
Created attachment 305832 [details] /proc/iomem
Created attachment 305833 [details] /proc/modules
Created attachment 305834 [details] output of `dmesg` after boot
Created attachment 305835 [details] output of `dmesg` after boot
Created attachment 305836 [details] additional output of `dmesg` after running `s0ix-selftest-tool.sh -s`
Interestingly, after initiating S3 sleep and waking up, rerunning the self-test shows I'm getting S0i2.0 at least (if not S0i3.0): S0ix substates residency delta value: S0i2.0 13343658 S0ix substates residency delta value: S0i3.0 0 Your system only get shallower S0ix substate residency: S0i2.0 13343658 So something about performing S3 sleep and wake makes S0i2.0 start working. It might be the Intel ISH, as this is erroring in dmesg and preventing the deeper S0 state (S0i3.0). After performing S3 sleep, the Fn key freezes state and the volume, brightness etc. F-keys stop working. I suppose ISH is in charge of that. I'll attach the dmesg taken after performing all of this: 1. S0 self-test which shows no S0 residency, followed by 2. S3 sleep which breaks F-keys, followed by 3. S0 self-test, which shows S0i2.0, but not S0i3.0 residency (F-keys still broken, of course, until I reboot).
Created attachment 305850 [details] Output of `dmesg` after S3 sleep and S0 self-test
This still happens on kernel version 6.10.2, and blacklisting intel_ish_ipc doesn't change anything (and it doesn't seem to be responsible for the Fn keys as they still work).