Re: A question about Cortex-A73 erratum 858921

From: Marc Zyngier
Date: Fri Sep 09 2022 - 08:24:42 EST


On Fri, 09 Sep 2022 08:31:43 +0100,
Kunkun Jiang <jiangkunkun@xxxxxxxxxx> wrote:
>
> Hi all,
>
> Recently I am learning the code related to Arm arch timer. I found that the
> Cortex-A73 erratum 858921 does not set the corresponding callback functions:
> set_next_event_phys and set_next_event_virt like other erratums. Won't it
> get the wrong value when reading the counter during setting next event?

Yup, you're correct.

This is a regression introduced by a38b71b0833e
("clocksource/drivers/arm_arch_timer: Move system register timer
programming over to CVAL"). We used to use the TVAL accessor which
doesn't need a read of the counter, while the switch to CVAL needs
one. Obviously, I didn't enough pay attention to the A73 erratum.

Please send in a fix for this.

Thanks,

M.

--
Without deviation from the norm, progress is not possible.