android_kernel_motorola_sm6375/drivers/rtc
Repository files (latest commit first)
Filename Latest commit message Latest commit date
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