rtc: Add support for configuring the UIP timeout for RTC reads
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 28 Nov 2023 05:36:52 +0000 (23:36 -0600)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 17 Dec 2023 21:33:55 +0000 (22:33 +0100)
commit120931db07b49252aba2073096b595482d71857c
tree8e36f94ece5cf7ac211dcf830c2ad66bbc33dcb0
parent1311a8f0d4b23f58bbababa13623aa40b8ad4e0c
rtc: Add support for configuring the UIP timeout for RTC reads

The UIP timeout is hardcoded to 10ms for all RTC reads, but in some
contexts this might not be enough time. Add a timeout parameter to
mc146818_get_time() and mc146818_get_time_callback().

If UIP timeout is configured by caller to be >=100 ms and a call
takes this long, log a warning.

Make all callers use 10ms to ensure no functional changes.

Cc: <stable@vger.kernel.org> # 6.1.y
Fixes: ec5895c0f2d8 ("rtc: mc146818-lib: extract mc146818_avoid_UIP")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Reviewed-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Acked-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Link: https://lore.kernel.org/r/20231128053653.101798-4-mario.limonciello@amd.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
arch/alpha/kernel/rtc.c
arch/x86/kernel/hpet.c
arch/x86/kernel/rtc.c
drivers/base/power/trace.c
drivers/rtc/rtc-cmos.c
drivers/rtc/rtc-mc146818-lib.c
include/linux/mc146818rtc.h