Martin Blumenstingl
31ca78dc1f
rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
...
[ Upstream commit 0e6255fa3f649170da6bd1a544680589cfae1131 ]
The VRTC alarm register can be programmed with an amount of seconds
after which the SoC will be woken up by the VRTC timer again. We are
already converting the alarm time from meson_vrtc_set_alarm() to
"seconds since 1970". This means we also need to use "seconds since
1970" for the current time.
This fixes a problem where setting the alarm to one minute in the future
results in the firmware (which handles wakeup) to output (on the serial
console) that the system will be woken up in billions of seconds.
ktime_get_raw_ts64() returns the time since boot, not since 1970. Switch
to ktime_get_real_ts64() to fix the calculation of the alarm time and to
make the SoC wake up at the specified date/time. Also the firmware
(which manages suspend) now prints either 59 or 60 seconds until wakeup
(depending on how long it takes for the system to enter suspend).
Fixes: 6ef35398e8 ("rtc: Add Amlogic Virtual Wake RTC")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20230320212142.2355062-1-martin.blumenstingl@googlemail.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-17 11:35:51 +02: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
rtc: fsl-ftm-alarm: add FTM alarm driver
2019-08-23 16:20:50 +02:00
nvmem.c
proc.c
rtc: fix snprintf() checking in is_rtc_hctosys()
2021-07-20 16:10:51 +02:00
rtc-88pm80x.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-88pm860x.c
rtc: 88pm860x: fix possible race condition
2020-04-23 10:36:31 +02:00
rtc-ab-b5ze-s3.c
rtc-ab-eoz9.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-ab3100.c
rtc-ab8500.c
rtc-abx80x.c
rtc-ac100.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-armada38x.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-as3722.c
rtc-asm9260.c
rtc: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-aspeed.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-at91rm9200.c
rtc: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-at91rm9200.h
rtc-at91sam9.c
rtc: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-au1xxx.c
rtc-bd70528.c
rtc: bd70528: fix module alias to autoload module
2020-01-26 10:01:06 +01:00
rtc-bq32k.c
rtc-bq4802.c
rtc-brcmstb-waketimer.c
rtc: brcmstb-waketimer: add missed clk_disable_unprepare
2020-01-17 19:49:03 +01:00
rtc-cadence.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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
mfd / platform: cros_ec: Reorganize platform and mfd includes
2019-09-02 11:33:42 +01:00
rtc-da9052.c
rtc-da9055.c
rtc-da9063.c
rtc-davinci.c
rtc: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c
rtc-ds1302.c
rtc-ds1305.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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: ds1672: remove unnecessary check
2019-08-21 09:57:23 +02:00
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: goldfish: Enable interrupt in set_alarm() when necessary
2020-08-26 10:40:54 +02:00
rtc-hid-sensor-time.c
rtc-hym8563.c
rtc: hym8563: Return -EINVAL if the time is known to be invalid
2020-02-14 16:34:12 -05:00
rtc-imx-sc.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-imxdi.c
rtc: imxdi: use devm_platform_ioremap_resource() to simplify code
2019-07-22 22:16:14 +02:00
rtc-isl1208.c
rtc-isl12022.c
rtc-isl12026.c
rtc: isl12026: convert to i2c_new_dummy_device
2019-07-22 22:30:19 +02:00
rtc-jz4740.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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: mc13xxx: fix a double-unlock issue
2020-06-24 17:50:12 +02:00
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-vrtc: Use ktime_get_real_ts64() to get the current time
2023-05-17 11:35:51 +02:00
rtc-meson.c
rtc-moxart.c
rtc-mpc5121.c
rtc-mrst.c
rtc-msm6242.c
rtc: msm6242: Fix reading of 10-hour digit
2020-01-17 19:49:03 +01:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-mv.c
rtc-mxc.c
rtc: mxc: use spin_lock_irqsave instead of spin_lock_irq in IRQ context
2019-08-12 23:04:25 +02:00
rtc-mxc_v2.c
rtc: mxc_v2: Add missing clk_disable_unprepare()
2023-01-18 11:41:32 +01:00
rtc-omap.c
rtc: omap: include header for omap_rtc_power_off_program prototype
2023-05-17 11:35:51 +02:00
rtc-opal.c
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c
rtc: pcf2123: add proper compatible string
2019-08-20 21:42:19 +02:00
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: pcf8563: let the core handle range offsetting
2019-09-01 10:57:47 +02:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c
rtc: pcf85063: Fix reading alarm
2023-01-18 11:41:29 +01:00
rtc-pcf85363.c
rtc: pcf85363/pcf85263: fix regmap error in set_time
2019-09-01 08:48:28 +02:00
rtc-pic32.c
rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe()
2023-01-18 11:41:31 +01:00
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: pm8xxx: fix set-alarm race
2023-03-11 16:43:58 +01:00
rtc-ps3.c
rtc-puv3.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-rp5c01.c
rtc-rs5c313.c
rtc-rs5c348.c
rtc-rs5c372.c
rtc-rtd119x.c
rtc-rv3028.c
rtc: rv3028: Add missed check for devm_regmap_init_i2c()
2020-06-24 17:50:36 +02:00
rtc-rv3029c2.c
rtc: rv3029: revert error handling patch to rv3029_eeprom_write()
2019-08-21 09:57:23 +02:00
rtc-rv8803.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-s3c.h
rtc-s5m.c
rtc: s5m: convert to i2c_new_dummy_device
2019-07-23 20:34:31 +02:00
rtc-s35390a.c
rtc: s35390a: convert to devm_i2c_new_dummy_device()
2019-09-01 09:18:35 +02:00
rtc-sa1100.c
rtc: sa1100: fix possible race condition
2020-10-01 13:17:43 +02:00
rtc-sa1100.h
rtc-sc27xx.c
rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag
2019-09-10 16:14:13 +02:00
rtc-sd3078.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-st-lpc.c
rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
2023-01-18 11:41:31 +01:00
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: Always export the internal oscillator
2023-03-11 16:44:13 +01:00
rtc-sunxi.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-tegra.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-test.c
rtc-tps6586x.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-zynqmp.c
rtc: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
sysfs.c
systohc.c