On 04/06/2019 12:23:34+0800, Chen-Yu Tsai wrote: > From: Chen-Yu Tsai <wens@xxxxxxxx> > > Hi everyone, > > While bringing up my Pine H64, I encountered an interrupt storm from the > pcf8563 RTC. The RTC chip's interrupt line is shared with the PMIC, and > was not properly added to the device tree. Also, the driver was using an > trigger method incompatible with the PMIC, preventing the interrupt line > from being shared. Last, the driver only clears and masks the alarm > interrupt, while leaving the timer interrupt untouched. This is a > problem if previous systems left the timer interrupt enabled, and there > was an interrupt pending. > > This patch set fixes all three issues, one per patch. > > Please have a look. > I don't have that particular RTC so I can't test but the interrupt handling in pcf8563_irq seems problematic too. I guess the RTC will only trigger once per second because the call to pcf8563_set_alarm_mode will explicitely leave the alarm enabled. The core doesn't really care but it doesn't really expect the alarm to stay enabled. i.e. It will ensure the alarm is enabled again after setting it when necessary. I think it would be safer to simply clear both AIE and AF here. Could you test? > Chen-Yu Tsai (3): > rtc: pcf8563: Fix interrupt trigger method > rtc: pcf8563: Clear event flags and disable interrupts before > requesting irq > arm64: dts: allwinner: h6: Pine H64: Add interrupt line for RTC > > .../arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 2 ++ > drivers/rtc/rtc-pcf8563.c | 13 ++++++------- > 2 files changed, 8 insertions(+), 7 deletions(-) > > -- > 2.20.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com