Re: [PATCH] arm64: arch_timer: Fix the lack of set_next_event* for workaround of Cortex-A73 erratum 858921

From: Kunkun Jiang
Date: Tue Sep 13 2022 - 22:31:02 EST


Hi Marc,

Thank you. I've modified it in v2.
I'll pay more attention in the future.

Thanks,
Kunkun Jiang

On 2022/9/13 22:12, Marc Zyngier wrote:
On Tue, 13 Sep 2022 11:47:23 +0100,
Kunkun Jiang <jiangkunkun@xxxxxxxxxx> wrote:
The patch a38b71b0833e 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 setting next event.
However, the workaround of Cortex-A73 erratum 858921 does not
set the corresponding set_next_event_phys and set_next_event_virt.
This patch fixes it.

Fixes: a38b71b0833e ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL")
Signed-off-by: Kunkun Jiang <jiangkunkun@xxxxxxxxxx>
---
drivers/clocksource/arm_arch_timer.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 9ab8221ee3c6..ff935efb6a88 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -473,6 +473,8 @@ static const struct arch_timer_erratum_workaround ool_workarounds[] = {
.desc = "ARM erratum 858921",
.read_cntpct_el0 = arm64_858921_read_cntpct_el0,
.read_cntvct_el0 = arm64_858921_read_cntvct_el0,
+ .set_next_event_phys = erratum_set_next_event_phys,
+ .set_next_event_virt = erratum_set_next_event_virt,
},
#endif
#ifdef CONFIG_SUN50I_ERRATUM_UNKNOWN1
With the fixed commit message as suggested by Oliver, and a subject
more conform to the style of previous commits (something like:
"clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 85821"):

Acked-by: Marc Zyngier <maz@xxxxxxxxxx>

Daniel, I assume you'll pick this?

Thanks,

M.