mbox series

[0/4] Extend time to wait for UIP for some callers

Message ID 20231117063220.65093-1-mario.limonciello@amd.com (mailing list archive)
Headers show
Series Extend time to wait for UIP for some callers | expand

Message

Mario Limonciello Nov. 17, 2023, 6:32 a.m. UTC
A number of users have reported their system will have a failure reading
the RTC around s2idle entry or exit.

This failure manifests as UIP clear taking longer than 10ms. Affected users
have reported that after this happens the clock jumps forward to 2077, which
is presumably from epoch + century bit.

Users who used a debugging patch provided by Mateusz Jończyk demonstrated
that this has taken upwards of 480ms in some cases.

This series adjusts the UIP timeout to be configurable by the caller and
changes some callers which aren't called in an interrupt context to allow
longer timeouts.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=217626
Link: https://community.frame.work/t/responded-fw13-amd-fedora-39-system-clock-advances-50-years-during-overnight-suspend
Mario Limonciello (4):
  rtc: mc146818-lib: Adjust failure return code for mc146818_get_time()
  rtc: Adjust failure return code for cmos_set_alarm()
  rtc: Add support for configuring the UIP timeout for RTC reads
  rtc: Extend timeout for waiting for UIP to clear to 1s

 arch/alpha/kernel/rtc.c        |  2 +-
 arch/x86/kernel/hpet.c         |  2 +-
 arch/x86/kernel/rtc.c          |  2 +-
 drivers/base/power/trace.c     |  2 +-
 drivers/rtc/rtc-cmos.c         |  8 ++++----
 drivers/rtc/rtc-mc146818-lib.c | 35 ++++++++++++++++++++++++----------
 include/linux/mc146818rtc.h    |  3 ++-
 7 files changed, 35 insertions(+), 19 deletions(-)