[PATCH v2] clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 85821
Kunkun Jiang
jiangkunkun at huawei.com
Tue Sep 13 23:21:48 PDT 2022
The subject is wrong. s/85821/858921
Please review v3.
Thanks,
Kunkun Jiang
On 2022/9/14 10:21, Kunkun Jiang wrote:
> The commit a38b71b0833e ("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: a38b71b0833e ("clocksource/drivers/arm_arch_timer: Move system register timer programming over to CVAL")
> Signed-off-by: Kunkun Jiang <jiangkunkun at huawei.com>
> Acked-by: Marc Zyngier <maz at kernel.org>
> ---
> 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
More information about the linux-arm-kernel
mailing list