Fix the "pending" state of RTCs, on Pi 5 and beyond#7198
Open
pelwell wants to merge 2 commits intoraspberrypi:rpi-6.12.yfrom
Open
Fix the "pending" state of RTCs, on Pi 5 and beyond#7198pelwell wants to merge 2 commits intoraspberrypi:rpi-6.12.yfrom
pelwell wants to merge 2 commits intoraspberrypi:rpi-6.12.yfrom
Conversation
When reading the RTC state at start of day, retrieve the RTC's ALARM value and use it to populate the pending member of struct rtc_wkalrm. See: raspberrypi/firmware#2011 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Since [1], the pending alarm state read from the hardware has been ignored for all RTCs. Add a mechanism so that the value is once again returned to callers of rtc_read_alarm(). [1] commit 6610e08 ("RTC: Rework RTC code to use timerqueue for events") Fixes: 6610e08 ("RTC: Rework RTC code to use timerqueue for events") Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Contributor
Author
|
N.B. Fixing the Pi 5 RTC case also requires an updated EEPROM, a trial build of which can be downloaded from here: https://drive.google.com/file/d/1Wsd0pl9WRiN6BRyxsKEn1shA2GZoFQSq/view?usp=sharing Once downloaded as The first two commands extract your current EEPROM config settings and apply them to new EEPROM image, and the third writes it to the EEPROM. Installing the trial kernel build is easier - just |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Investigating a report of the Pi 5 RTC not correctly advertising the alarm "pending" state - an indication that the alarm has fired and woken the host - appears to show that there are bugs in the Pi 5 RTC implementation, but also that it is broken for all RTCs.
These two patches fix the rtc-pi5 bug (a simple failure to populate the
pendingfield ofstruct rtc_wkalrm), but also modify the RTC framework such that the value read from the RTCs is made available to users ofrtc_read_alaram, including the code that provides the output from/proc/driver/rtc.See: raspberrypi/firmware#2011