zephyr/drivers/timer
Ruibin Chang 4ce0ff5ef4 drivers/timer/it8xxx2: fix busy wait timer race condition
Command "waitms 50" on ChromeBook EC console, then it will crash EC.

Because arch_busy_wait() is re-entried by two different tasks,
the second calling will reset the timer and may cause the first
calling to fail to reach the waiting destination
(if the first calling's wait time is longer enough).

Verified by follow test pattern:
west build -p auto -b it8xxx2_evb tests/kernel/timer/timer_api
west build -p auto -b it8xxx2_evb tests/kernel/timer/timer_error_case
west build -p auto -b it8xxx2_evb tests/kernel/timer/timer_monotonic
west build -p auto -b it8xxx2_evb tests/kernel/timer/starve
west build -p auto -b it8xxx2_evb tests/kernel/context

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2024-12-25 08:40:53 +01:00
..
altera_avalon_timer_hal.c
ambiq_stimer.c drivers: timer: separate ambiq stimer comparator interrupts 2024-12-20 08:33:22 +01:00
apic_timer.c drivers/timer/apic_timer: move to periodic mode 2024-05-29 08:40:43 +02:00
apic_tsc.c
arcv2_timer0.c
arm_arch_timer.c
cc13xx_cc26xx_rtc_timer.c
CMakeLists.txt drivers: timer: Export sys_clock_cycle_get_64() implementations 2024-12-06 12:14:19 +01:00
cortex_m_systick.c timer: cortex_m_systick: use direct interrupt handler instead of C-function 2024-08-14 15:57:15 -05:00
esp32_sys_timer.c drivers: esp32: Interrupts flags configuration 2024-08-22 14:25:25 -04:00
export.c drivers: timer: Export sys_clock_cycle_get_64() implementations 2024-12-06 12:14:19 +01:00
gecko_burtc_timer.c drivers: timer: gecko_burtc: Remove unused include 2024-11-26 15:42:02 -05:00
hpet.c
intel_adsp_timer.c
ite_it8xxx2_timer.c drivers/timer/it8xxx2: fix busy wait timer race condition 2024-12-25 08:40:53 +01:00
Kconfig drivers: add the ch32v00x systick driver 2024-11-26 14:41:46 +00:00
Kconfig.altera_avalon
Kconfig.ambiq
Kconfig.arcv2
Kconfig.arm_arch
Kconfig.cavs
Kconfig.cc13xx_cc26xx_rtc
Kconfig.cortex_m_systick
Kconfig.esp32 drivers: timer: esp32c2: Add support 2024-08-16 14:08:22 -04:00
Kconfig.gecko
Kconfig.ite_it8xxx2
Kconfig.leon_gptimer
Kconfig.litex
Kconfig.mchp_xec_rtos
Kconfig.mcux_gpt
Kconfig.mcux_lptmr drivers: timer: updated lptmr_timer binding 2024-06-11 17:04:26 +03:00
Kconfig.mcux_os
Kconfig.mec5 drivers: timer: mec5: Driver using Microchip RTOS timer as kernel tick 2024-10-22 20:41:32 +02:00
Kconfig.mips_cp0
Kconfig.mtk_adsp drivers/timer: MediaTek audio DSP timer device 2024-06-01 05:40:05 -07:00
Kconfig.native_posix drivers/timer native_posix: Allow without BOARD_NATIVE_POSIX 2024-10-01 10:47:55 +01:00
Kconfig.npcx_itim
Kconfig.nrf_grtc drivers: timer: nrf_grtc_timer: Align Zephyr to new AUTOEN read manner 2024-10-07 18:42:14 +02:00
Kconfig.nrf_rtc
Kconfig.nrf_xrtc
Kconfig.rcar_cmt
Kconfig.riscv_machine
Kconfig.rv32m1_lptmr
Kconfig.sam0_rtc soc: atmel: Drop PINCTRL from Kconfig.defconfig 2024-11-04 13:43:26 -06:00
Kconfig.silabs drivers: timer: silabs: Add sleeptimer timer driver 2024-10-24 17:51:01 +02:00
Kconfig.smartbond
Kconfig.stm32_lptim soc: st: Add support for STOP3 on STM32U5 2024-06-15 04:44:26 -04:00
Kconfig.sy1xx_sys_timer driver: timer: Add support for sy1xx 2024-09-16 20:19:31 +02:00
Kconfig.ti_dm_timer drivers: timer: Add TI DM TIMER support 2024-06-13 20:25:14 -04:00
Kconfig.wch_ch32v00x drivers: add the ch32v00x systick driver 2024-11-26 14:41:46 +00:00
Kconfig.x86 drivers: apic_tsc: revert add dependency of DYNAMIC_INTERRUPTS 2024-06-13 23:54:29 -05:00
Kconfig.xlnx_psttc
Kconfig.xtensa
leon_gptimer.c
litex_timer.c
mchp_mec5_ktimer.c drivers: timer: mec5: Driver using Microchip RTOS timer as kernel tick 2024-10-22 20:41:32 +02:00
mchp_xec_rtos_timer.c
mcux_gpt_timer.c
mcux_lptmr_timer.c drivers: mcux_lptmr_timer: Fix compat string error 2024-06-05 04:24:30 -07:00
mcux_os_timer.c zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY 2024-10-03 17:06:52 +01:00
mips_cp0_timer.c
mtk_adsp_timer.c boards/mediatek: Add mt8196_adsp 2024-11-28 20:51:50 +01:00
native_posix_timer.c everywhere: replace double words 2024-06-22 05:40:22 -04:00
npcx_itim_timer.c driver: timer: npcx: bypass timer counter reading issue 2024-12-16 15:55:16 +01:00
nrf_grtc_timer.c drivers: timer: grtc: Add LFPRC as the source of GRTC 2024-11-27 21:06:20 +00:00
nrf_rtc_timer.c
rcar_cmt_timer.c
riscv_machine_timer.c
rv32m1_lptmr_timer.c
sam0_rtc_timer.c
silabs_sleeptimer_timer.c drivers: timer: silabs: Add sleeptimer timer driver 2024-10-24 17:51:01 +02:00
smartbond_timer.c zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY 2024-10-03 17:06:52 +01:00
stm32_lptim_timer.c drivers: stm32 lptim driver with a exact LPTIM timeout value 2024-11-16 15:05:26 -05:00
sy1xx_sys_timer.c soc: sensry: udma, pad renaming 2024-11-16 15:06:43 -05:00
sys_clock_init.c
ti_dmtimer.c drivers: timer: Disable prescalar for TI DM Timer 2024-11-27 10:39:21 -05:00
wch_systick_ch32v00x.c drivers: add the ch32v00x systick driver 2024-11-26 14:41:46 +00:00
xlnx_psttc_timer_priv.h
xlnx_psttc_timer.c
xtensa_sys_timer.c