Skip to content

Commit 6c3b62d

Browse files
Kunkun Jiangdlezcano
authored andcommitted
clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
The commit a38b71b ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") moves the programming of the timers from the countdown timer (TVAL) over to the comparator (CVAL). This makes it necessary to read the counter when programming next event. However, the workaround of Cortex-A73 erratum 858921 does not set the corresponding set_next_event_phys and set_next_event_virt. Add the appropriate hooks to apply the erratum mitigation when programming the next timer event. Fixes: a38b71b ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL") Signed-off-by: Kunkun Jiang <[email protected]> Acked-by: Marc Zyngier <[email protected]> Reviewed-by: Oliver Upton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Daniel Lezcano <[email protected]>
1 parent 55ccdab commit 6c3b62d

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/clocksource/arm_arch_timer.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,8 @@ static const struct arch_timer_erratum_workaround ool_workarounds[] = {
473473
.desc = "ARM erratum 858921",
474474
.read_cntpct_el0 = arm64_858921_read_cntpct_el0,
475475
.read_cntvct_el0 = arm64_858921_read_cntvct_el0,
476+
.set_next_event_phys = erratum_set_next_event_phys,
477+
.set_next_event_virt = erratum_set_next_event_virt,
476478
},
477479
#endif
478480
#ifdef CONFIG_SUN50I_ERRATUM_UNKNOWN1

0 commit comments

Comments
 (0)