zephyr/drivers/timer
Andrzej Głąbek 31c11a5dc0 drivers: nrf_rtc_timer: Fix handling of COMPARE events in set_alarm()
This is a follow-up to commits cf871aec64
and 205e684958.

It turns out that the current implementation of the nrf_rtc_timer may
still fail to properly handle a timeout if that timeout is set in very
specific conditions - when a previously set timeout is about to expire.
When that happens, the new timeout is handled 512 seconds later (when
the system timer overflows) than it should be.

A recently added nrf_rtc_timer test case (test_tight_rescheduling)
exposes this problem and this commit fixes it by adding examination
of COMPARE events that appear during setting of the CC register value
for a given timeout.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-02-14 08:28:28 +01:00
..
altera_avalon_timer_hal.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
apic_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
apic_tsc.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
arcv2_timer0.c smp: Convert #if to use CONFIG_MP_MAX_NUM_CPUS 2022-10-20 22:04:10 +09:00
arm_arch_timer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
cc13x2_cc26x2_rtc_timer.c include: add missing spinlock.h include 2022-10-11 18:05:17 +02:00
CMakeLists.txt
cortex_m_systick.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
esp32c3_sys_timer.c driver: systimer: increase esp32c3 tick resolution 2023-01-04 14:24:25 +01:00
hpet.c timer: hpet: Remove deadcode 2023-01-09 12:07:28 -05:00
intel_adsp_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
ite_it8xxx2_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
Kconfig drivers: timers: Add dependency on SYS_CLOCK_EXISTS to all timer configs 2023-01-20 20:02:20 +01:00
Kconfig.altera_avalon
Kconfig.apic timer: APIC timer count is a lock free accessor 2022-10-18 14:14:12 +02:00
Kconfig.arcv2
Kconfig.arm_arch
Kconfig.cavs drivers: timer: intel_adsp: Update driver to use dts Kconfig symbol 2022-11-01 09:03:17 +00:00
Kconfig.cc13x2_cc26x2_rtc
Kconfig.cortex_m_systick
Kconfig.esp32c3_sys
Kconfig.hpet timer: Revert "timer: HPET is also a lock free readable timer" 2022-11-01 23:15:23 +09:00
Kconfig.ite_it8xxx2
Kconfig.leon_gptimer
Kconfig.litex
Kconfig.mchp_xec_rtos
Kconfig.mcux_gpt soc: arm: nxp: switch imxrt boards to use systick timer unless CONFIG_PM=y 2022-12-16 09:31:48 +01:00
Kconfig.mcux_lptmr drivers: timer: mcux: lptmr: add dependency on CONFIG_PM 2023-01-31 22:10:28 -06:00
Kconfig.mcux_os
Kconfig.mips_cp0
Kconfig.native_posix
Kconfig.npcx_itim
Kconfig.nrf_rtc drivers: tiemr: nrf_rtc_timer: Add test function for shifting time 2022-11-17 11:24:23 +01:00
Kconfig.rcar_cmt
Kconfig.riscv_machine drivers: timer: riscv_machine_timer: Add support for OpenTitan 2023-01-27 19:25:26 +09:00
Kconfig.rv32m1_lptmr
Kconfig.sam0_rtc
Kconfig.stm32_lptim
Kconfig.xlnx_psttc
Kconfig.xtensa
leon_gptimer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
litex_timer.c
mchp_xec_rtos_timer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
mcux_gpt_timer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
mcux_lptmr_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
mcux_os_timer.c timer: nxp: Update OS-Timer to use wakeup-source flag 2022-10-27 11:03:13 +02:00
mips_cp0_timer.c include: add missing limits.h include 2022-10-11 18:05:17 +02:00
native_posix_timer.c
npcx_itim_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
nrf_rtc_timer.c drivers: nrf_rtc_timer: Fix handling of COMPARE events in set_alarm() 2023-02-14 08:28:28 +01:00
rcar_cmt_timer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
riscv_machine_timer.c drivers: timer: get mtime cmp reg by reading mhartid 2023-01-27 12:49:56 -08:00
rv32m1_lptmr_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
sam0_rtc_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00
stm32_lptim_timer.c drivers: timer: stm32u5 lptimer waits for DIER complete 2023-02-09 13:17:03 +01:00
sys_clock_init.c
xlnx_psttc_timer_priv.h
xlnx_psttc_timer.c include: add missing sys_clock.h include 2022-10-11 18:05:17 +02:00
xtensa_sys_timer.c include: add missing zephyr/irq.h include 2022-10-17 22:57:39 +09:00