zephyr/drivers/timer
Nicolas Pitre 0fc9c9f46a drivers/timer/arm_arch_timer: driver revamp
Couple issues:

- `sys_clock_set_timeout()` should not base its `mtime` on the current
  time either. Tracking the `last_tick` and `last_elapsed` values avoids
  the need for all the tick rounding computation.

- The MIN_DELAY thing is pointless. The hardware performs a signed
  comparison. If the delay gets close or even behind current time then
  the IRQ will be triggered right away. This is unlikely to happen very
  often anyway so the constant overhead is uncalled for.

- Runtime 64-bits divisions on 32-bits hardware are very expensive.

- The timer must be enabled before the count can return a sensible
  value during driver init (at least on qemu_cortex_a9).

Discussion in PR #54919 applies here too.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-03-02 15:37:35 -05:00
..
altera_avalon_timer_hal.c
apic_timer.c
apic_tsc.c
arcv2_timer0.c
arm_arch_timer.c drivers/timer/arm_arch_timer: driver revamp 2023-03-02 15:37:35 -05:00
cc13x2_cc26x2_rtc_timer.c
CMakeLists.txt
cortex_m_systick.c cortex-m: warnings: Address -Wextra warnings 2023-02-19 20:58:44 -05: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
ite_it8xxx2_timer.c
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
Kconfig.arcv2
Kconfig.arm_arch
Kconfig.cavs
Kconfig.cc13x2_cc26x2_rtc
Kconfig.cortex_m_systick
Kconfig.esp32c3_sys
Kconfig.hpet
Kconfig.ite_it8xxx2
Kconfig.leon_gptimer
Kconfig.litex
Kconfig.mchp_xec_rtos
Kconfig.mcux_gpt
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
Kconfig.rcar_cmt
Kconfig.riscv_machine drivers: timer: Machine timer driver enablement for NIOSV 2023-02-20 09:29:13 -05:00
Kconfig.rv32m1_lptmr
Kconfig.sam0_rtc
Kconfig.stm32_lptim
Kconfig.xlnx_psttc
Kconfig.xtensa
leon_gptimer.c
litex_timer.c
mchp_xec_rtos_timer.c
mcux_gpt_timer.c
mcux_lptmr_timer.c
mcux_os_timer.c
mips_cp0_timer.c
native_posix_timer.c
npcx_itim_timer.c
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
riscv_machine_timer.c riscv: timer: driver revamp 2023-02-21 18:04:55 -05:00
rv32m1_lptmr_timer.c
sam0_rtc_timer.c
stm32_lptim_timer.c drivers: timer: stm32_lptim: fix sys_clock_* return value 2023-02-27 17:31:03 +01:00
sys_clock_init.c
xlnx_psttc_timer_priv.h
xlnx_psttc_timer.c
xtensa_sys_timer.c