[PATCH 0/3][SRU][UNSTABLE] Add s0i3 RTC wake up for AMD systems
Alex Hung
alex.hung at canonical.com
Thu Nov 11 03:35:02 UTC 2021
BugLink: https://bugs.launchpad.net/bugs/1950013
[Impact]
RTC based wakeup is not supported natively by the hardware for
s0i3.
[Fix]
A firmware and driver updates were implemented. The driver
passes wakeup time to SMU to to enable RTC from S0i3.
Note this s0i3 RTC wake up also requires new firmware.
The first patch is the prerequisite actual fix (patch 2 and 3).
[Test]
This is requested by AMD and tested by an AMD developer as below:
Testing a suspend run with RTC for 15 seconds and then 30 seconds:
```
$ sudo rtcwake --seconds 15 -m mem
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Nov 5 02:31:45 2021
$ sudo rtcwake --seconds 30 -m mem
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Fri Nov 5 02:33:13 2021
$ sudo cat /sys/kernel/debug/amd_pmc/s0ix_stats
=== S0ix statistics ===
S0ix Entry Time: 4793618285
S0ix Exit Time: 6209036738
Residency Time: 29487884
```
Residency divided by 1000000 is 29.4 seconds.
Reading idle mask works fine too.
[Where problems could occur]
Low risk.
First patch only exports Idlemask value.
The actual fix only affects a specific AMD CPU (CZN).
Mario Limonciello (2):
platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd`
platform/x86: amd-pmc: Add special handling for timer based S0i3
wakeup
Sanket Goswami (1):
platform/x86: amd-pmc: Export Idlemask values based on the APU
drivers/platform/x86/amd-pmc.c | 142 ++++++++++++++++++++++++++++++++-
1 file changed, 138 insertions(+), 4 deletions(-)
--
2.33.1
More information about the kernel-team
mailing list