zephyr/drivers/timer
Enjia Mai dcda15d17d drivers: timer: use sys_read64 to read HPET counter on 64 bits cpu
For 32 bit processor to read the 64 bits hpet counter, the HPET spec
2.4.7 suggest to read HPET counter high and low then checking the
high bits to decide if it rollovers or not.

But this logic seems to cause problem for 64 bits processor under SMP,
there is a possible one tick earier under tickless mode. It is likely
to be the cache coherence issue, because a mfence instruction before
reading the timer works.

So we change to read the 64 bits counter by sys_read64 on 64bit
processor to prevent this issue.

Fixes #49611

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-10-12 18:47:19 +09:00
..
altera_avalon_timer_hal.c drivers: timer: provide timer irq to tests 2022-06-29 10:31:00 +02:00
apic_timer.c drivers: timer: provide timer irq to tests 2022-06-29 10:31:00 +02:00
apic_tsc.c
arcv2_timer0.c drivers: arc/designware: remove unused <soc.h> 2022-08-03 07:46:14 -04: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 intel_adsp: Unify cavs and ace timers 2022-07-06 15:11:07 -04:00
cortex_m_systick.c
esp32c3_sys_timer.c include: add missing spinlock.h include 2022-10-11 18:05:17 +02:00
hpet.c drivers: timer: use sys_read64 to read HPET counter on 64 bits cpu 2022-10-12 18:47:19 +09:00
intel_adsp_timer.c drivers: intc_dw_ace: rename file 2022-10-11 12:50:05 -04:00
ite_it8xxx2_timer.c drivers: add mising braces to single line if statements 2022-07-06 11:00:45 -04:00
Kconfig
Kconfig.altera_avalon
Kconfig.apic drivers/timer/apic_tsc: Select the 64-bit cycle counter in deadline mode 2022-07-08 21:59:06 -04:00
Kconfig.arcv2
Kconfig.arm_arch
Kconfig.cavs intel_adsp: Unify cavs and ace timers 2022-07-06 15:11:07 -04:00
Kconfig.cc13x2_cc26x2_rtc drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.cortex_m_systick drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.esp32c3_sys
Kconfig.hpet drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.ite_it8xxx2 drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.leon_gptimer drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.litex drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.mchp_xec_rtos drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.mcux_gpt drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.mcux_lptmr drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.mcux_os drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.mips_cp0
Kconfig.native_posix
Kconfig.npcx_itim drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.nrf_rtc drivers: timer: Increase default user-allocable channel count to 3 2022-08-19 12:08:59 +02:00
Kconfig.rcar_cmt drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.riscv_machine drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.rv32m1_lptmr drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.sam0_rtc drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.stm32_lptim drivers: timer: stm32_lptim: Change clock source config check sanction 2022-09-21 18:39:07 +00:00
Kconfig.xlnx_psttc drivers: timer: Update drivers to use devicetree Kconfig symbol 2022-09-09 09:58:48 +00:00
Kconfig.xtensa
leon_gptimer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
litex_timer.c drivers: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
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 sys/time_units.h include 2022-10-11 18:05:17 +02:00
mcux_os_timer.c include: add missing limits.h include 2022-10-11 18:05:17 +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 kernel.h include 2022-10-11 18:05:17 +02:00
nrf_rtc_timer.c drivers: timer: nrf_rtc_timer: Fix assert conditions 2022-08-05 15:15:34 +02:00
rcar_cmt_timer.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
riscv_machine_timer.c include: add missing limits.h include 2022-10-11 18:05:17 +02:00
rv32m1_lptmr_timer.c includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
sam0_rtc_timer.c drivers: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
stm32_lptim_timer.c include: add missing irq.h include 2022-10-11 18:05:17 +02: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 drivers: timer: provide timer irq to tests 2022-06-29 10:31:00 +02:00