]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rtc: zynqmp: Restore alarm functionality after kexec transition
authorHarini T <harini.t@amd.com>
Wed, 30 Jul 2025 14:21:10 +0000 (19:51 +0530)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 5 Oct 2025 21:17:46 +0000 (23:17 +0200)
commite22f4d1321e0055065f274e20bf6d1dbf4b500f5
treebc2b407c96ab8254938eb05bc982c67ae60aa5e0
parentf38bdd730914be1fcd63240af89a2dc802148c8a
rtc: zynqmp: Restore alarm functionality after kexec transition

During kexec reboots, RTC alarms that are fired during the kernel
transition experience delayed execution. The new kernel would eventually
honor these alarms, but the interrupt handlers would only execute after
the driver probe is completed rather than at the intended alarm time.

This is because pending alarm interrupt status from the previous kernel
is not properly cleared during driver initialization, causing timing
discrepancies in alarm delivery.

To ensure precise alarm timing across kexec transitions, enhance the
probe function to:
1. Clear any pending alarm interrupt status from previous boot.
2. Detect existing valid alarms and preserve their state.
3. Re-enable alarm interrupts for future alarms.

Signed-off-by: Harini T <harini.t@amd.com>
Link: https://lore.kernel.org/r/20250730142110.2354507-1-harini.t@amd.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-zynqmp.c