Skip to content

Commit eb94906

Browse files
SgrrZhfcarlescufi
authored andcommitted
drivers: timer: arm_arch_timer: assign a initial value to last_cycle
On FVP platform, when parameter 'bp.refcounter.use_real_time' is set to 1, cntvct_el0 isn't count from 0 and may cause overflow issue in first timer compare interrupt. 'bp.refcounter.use_real_time' is 0 by default. Signed-off-by: Huifeng Zhang <[email protected]>
1 parent 79d076b commit eb94906

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/timer/arm_arch_timer.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,8 @@ static int sys_clock_driver_init(const struct device *dev)
194194
IRQ_CONNECT(ARM_ARCH_TIMER_IRQ, ARM_ARCH_TIMER_PRIO,
195195
arm_arch_timer_compare_isr, NULL, ARM_ARCH_TIMER_FLAGS);
196196
arm_arch_timer_init();
197-
arm_arch_timer_set_compare(arm_arch_timer_count() + CYC_PER_TICK);
197+
last_cycle = arm_arch_timer_count();
198+
arm_arch_timer_set_compare(last_cycle + CYC_PER_TICK);
198199
arm_arch_timer_enable(true);
199200
irq_enable(ARM_ARCH_TIMER_IRQ);
200201
arm_arch_timer_set_irq_mask(false);

0 commit comments

Comments
 (0)