Stefan Eichenberger
bb1bdc72dd
rtc: snvs: Allow a time difference on clock register read
...
[ Upstream commit 0462681e207ccc44778a77b3297af728b1cf5b9f ]
On an iMX6ULL the following message appears when a wakealarm is set:
echo 0 > /sys/class/rtc/rtc1/wakealarm
rtc rtc1: Timeout trying to get valid LPSRT Counter read
This does not always happen but is reproducible quite often (7 out of 10
times). The problem appears because the iMX6ULL is not able to read the
registers within one 32kHz clock cycle which is the base clock of the
RTC. Therefore, this patch allows a difference of up to 320 cycles
(10ms). 10ms was chosen to be big enough even on systems with less cpu
power (e.g. iMX6ULL). According to the reference manual a difference is
fine:
- If the two consecutive reads are similar, the value is correct.
The values have to be similar, not equal.
Fixes: cd7f3a249d ("rtc: snvs: Add timeouts to avoid kernel lockups")
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Signed-off-by: Francesco Dolcini <francesco@dolcini.it>
Link: https://lore.kernel.org/r/20221106115915.7930-1-francesco@dolcini.it
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:41:29 +01:00
..
class.c
rtc: fix use-after-free on device removal
2022-05-25 09:14:31 +02:00
dev.c
hctosys.c
interface.c
rtc: check if __rtc_read_time was successful
2022-04-15 14:18:28 +02:00
Kconfig
rtc: rx8010: select REGMAP_I2C
2021-09-26 14:07:14 +02:00
lib.c
Makefile
nvmem.c
proc.c
rtc: fix snprintf() checking in is_rtc_hctosys()
2021-07-20 16:10:51 +02:00
rtc-88pm80x.c
rtc-88pm860x.c
rtc-ab-b5ze-s3.c
rtc-ab-eoz9.c
rtc-ab3100.c
rtc-ab8500.c
rtc-abx80x.c
rtc-ac100.c
rtc-armada38x.c
rtc-as3722.c
rtc-asm9260.c
rtc-aspeed.c
rtc-at91rm9200.c
rtc-at91rm9200.h
rtc-at91sam9.c
rtc-au1xxx.c
rtc-bd70528.c
rtc-bq32k.c
rtc-bq4802.c
rtc-brcmstb-waketimer.c
rtc-cadence.c
rtc-cmos.c
rtc: cmos: take rtc_lock while reading from CMOS
2022-01-27 09:19:27 +01:00
rtc-coh901331.c
rtc-core.h
rtc-cpcap.c
rtc-cros-ec.c
rtc-da9052.c
rtc-da9055.c
rtc-da9063.c
rtc-davinci.c
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c
rtc-ds1302.c
rtc-ds1305.c
rtc-ds1307.c
rtc: ds1307: Fix wday settings for rx8130
2021-05-19 10:08:26 +02:00
rtc-ds1343.c
rtc-ds1347.c
rtc-ds1374.c
rtc: ds1374: fix possible race condition
2020-10-01 13:17:43 +02:00
rtc-ds1390.c
rtc-ds1511.c
rtc-ds1553.c
rtc-ds1672.c
rtc-ds1685.c
rtc-ds1742.c
rtc-ds2404.c
rtc-ds3232.c
rtc-efi-platform.c
rtc-efi.c
rtc-em3027.c
rtc-ep93xx.c
rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time
2020-12-30 11:51:47 +01:00
rtc-fm3130.c
rtc-fsl-ftm-alarm.c
rtc: fsl-ftm-alarm: add MODULE_TABLE()
2021-05-19 10:08:25 +02:00
rtc-ftrtc010.c
rtc-generic.c
rtc-goldfish.c
rtc-hid-sensor-time.c
rtc-hym8563.c
rtc-imx-sc.c
rtc-imxdi.c
rtc-isl1208.c
rtc-isl12022.c
rtc-isl12026.c
rtc-jz4740.c
rtc-lp8788.c
rtc-lpc24xx.c
rtc-lpc32xx.c
rtc-ls1x.c
rtc-m41t80.c
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c
rtc-m48t59.c
rtc-m48t86.c
rtc-max6900.c
rtc-max6902.c
rtc-max6916.c
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c
rtc: max77686: Do not enforce (incorrect) interrupt trigger type
2021-07-25 14:35:12 +02:00
rtc-mc13xxx.c
rtc-mc146818-lib.c
rtc: mc146818-lib: Fix the AltCentury for AMD platforms
2022-05-25 09:14:32 +02:00
rtc-mcp795.c
rtc-meson-vrtc.c
rtc-meson.c
rtc-moxart.c
rtc-mpc5121.c
rtc-mrst.c
rtc-msm6242.c
rtc-mt6397.c
rtc: mt6397: check return value after calling platform_get_resource()
2022-06-14 18:11:53 +02:00
rtc-mt7622.c
rtc-mv.c
rtc-mxc.c
rtc-mxc_v2.c
rtc: mxc_v2: add missing MODULE_DEVICE_TABLE
2021-07-25 14:35:11 +02:00
rtc-omap.c
rtc-opal.c
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c
rtc-pcf2127.c
rtc: pcf2127: fix pcf2127_nvmem_read/write() returns
2020-12-30 11:51:02 +01:00
rtc-pcf8523.c
rtc-pcf8563.c
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c
rtc-pcf85363.c
rtc-pic32.c
rtc-pl030.c
rtc-pl031.c
rtc: pl031: fix resource leak in pl031_probe
2021-01-06 14:48:39 +01:00
rtc-pm8xxx.c
rtc-ps3.c
rtc-puv3.c
rtc-pxa.c
rtc: pxa: fix null pointer dereference
2022-01-27 09:19:53 +01:00
rtc-r7301.c
rtc-r9701.c
rtc-rc5t583.c
rtc-rk808.c
rtc-rp5c01.c
rtc-rs5c313.c
rtc-rs5c348.c
rtc-rs5c372.c
rtc-rtd119x.c
rtc-rv3028.c
rtc-rv3029c2.c
rtc-rv8803.c
rtc-rx4581.c
rtc-rx6110.c
rtc-rx8010.c
rtc: rx8010: don't modify the global rtc ops
2020-11-05 11:43:33 +01:00
rtc-rx8025.c
rtc-rx8581.c
rtc-s3c.c
rtc-s3c.h
rtc-s5m.c
rtc-s35390a.c
rtc-sa1100.c
rtc-sa1100.h
rtc-sc27xx.c
rtc-sd3078.c
rtc-sh.c
rtc-sirfsoc.c
rtc-snvs.c
rtc: snvs: Allow a time difference on clock register read
2023-01-18 11:41:29 +01:00
rtc-spear.c
rtc-st-lpc.c
rtc-starfire.c
rtc-stk17ta8.c
rtc-stm32.c
rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path
2021-07-14 16:53:05 +02:00
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sun6i.c
rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
2021-01-06 14:48:39 +01:00
rtc-sunxi.c
rtc-tegra.c
rtc-test.c
rtc-tps6586x.c
rtc-tps65910.c
rtc: tps65910: Correct driver module alias
2021-09-22 12:26:19 +02:00
rtc-tps80031.c
rtc-twl.c
rtc-tx4939.c
rtc-v3020.c
rtc-vr41xx.c
rtc-vt8500.c
rtc-wilco-ec.c
rtc-wm831x.c
rtc-wm8350.c
rtc: wm8350: Handle error for wm8350_register_irq
2022-04-15 14:18:31 +02:00
rtc-x1205.c
rtc-xgene.c
rtc-zynqmp.c
sysfs.c
systohc.c