-
Notifications
You must be signed in to change notification settings - Fork 105
[Deepin-Kernel-SIG] [Upstream] [linux 6.6-y] rtc: loongson: clear TOY_MATCH0_REG in loongson_rtc_isr() #584
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Deepin-Kernel-SIG] [Upstream] [linux 6.6-y] rtc: loongson: clear TOY_MATCH0_REG in loongson_rtc_isr() #584
Conversation
stable inclusion from mainline-v6.6.76 category: bugfix [ Upstream commit 09471d8 ] The TOY_MATCH0_REG should be cleared to 0 in the RTC interrupt handler, otherwise the interrupt cannot be cleared, which will cause the loongson_rtc_isr() to be triggered multiple times. The previous code cleared TOY_MATCH0_REG in the loongson_rtc_handler(), which is an ACPI interrupt. This did not prevent loongson_rtc_isr() from being triggered multiple times. This commit moves the clearing of TOY_MATCH0_REG to the loongson_rtc_isr() to ensure that the interrupt is properly cleared. Fixes: 1b733a9 ("rtc: Add rtc driver for the Loongson family chips") Signed-off-by: Ming Wang <wangming01@loongson.cn> Reviewed-by: Huacai Chen <chenhuacai@loongson.cn> Reviewed-by: Keguang Zhang <keguang.zhang@gmail.com> # on LS1B Tested-by: Keguang Zhang <keguang.zhang@gmail.com> Link: https://lore.kernel.org/r/20241205114307.1891418-1-wangming01@loongson.cn Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Reviewer's Guide by SourceryThe pull request moves the clearing of the TOY_MATCH0_REG register from the ACPI interrupt handler (loongson_rtc_handler) to the RTC interrupt handler (loongson_rtc_isr) to ensure the RTC interrupt is properly cleared, preventing it from being triggered multiple times. Sequence diagram showing the updated RTC interrupt handling flowsequenceDiagram
participant Hardware as RTC Hardware
participant ISR as loongson_rtc_isr
participant Handler as loongson_rtc_handler
Hardware->>ISR: RTC Interrupt
activate ISR
ISR->>ISR: Update RTC IRQ
ISR->>ISR: Clear TOY_MATCH0_REG
ISR-->>Hardware: Interrupt Handled
deactivate ISR
Note over Hardware,Handler: ACPI Interrupt Path
Hardware->>Handler: ACPI Interrupt
activate Handler
Handler->>Handler: Clear PM1_STS_REG
Handler-->>Hardware: Interrupt Handled
deactivate Handler
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @opsiff - I've reviewed your changes - here's some feedback:
Overall Comments:
- The fix looks good, but ensure that ignoring the return value from regmap_write in the isr is intentional. Consider either checking the return value or adding a comment explaining why any potential failure is benign in this context.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sourcery-ai[bot] The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
stable inclusion
from mainline-v6.6.76
category: bugfix
[ Upstream commit 09471d8 ]
The TOY_MATCH0_REG should be cleared to 0 in the RTC interrupt handler, otherwise the interrupt cannot be cleared, which will cause the loongson_rtc_isr() to be triggered multiple times.
The previous code cleared TOY_MATCH0_REG in the loongson_rtc_handler(), which is an ACPI interrupt. This did not prevent loongson_rtc_isr() from being triggered multiple times.
This commit moves the clearing of TOY_MATCH0_REG to the loongson_rtc_isr() to ensure that the interrupt is properly cleared.
Fixes: 1b733a9 ("rtc: Add rtc driver for the Loongson family chips")
Reviewed-by: Huacai Chen chenhuacai@loongson.cn
Reviewed-by: Keguang Zhang keguang.zhang@gmail.com # on LS1B
Tested-by: Keguang Zhang keguang.zhang@gmail.com
Link: https://lore.kernel.org/r/20241205114307.1891418-1-wangming01@loongson.cn
Summary by Sourcery
Bug Fixes: