]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne
authorKeqian Zhu <zhukeqian1@huawei.com>
Fri, 4 Dec 2020 07:31:25 +0000 (15:31 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:51:19 +0000 (11:51 +0100)
[ Upstream commit d8cc3905b8073c7cfbff94af889fa8dc71f21dd5 ]

In commit 0ea415390cd3 ("clocksource/arm_arch_timer: Use arch_timer_read_counter
to access stable counters"), we separate stable and normal count reader to omit
unnecessary overhead on systems that have no timer erratum.

However, in erratum_set_next_event_tval_generic(), count reader becomes normal
reader. This converts it to stable reader.

Fixes: 0ea415390cd3 ("clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters")
Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20201204073126.6920-2-zhukeqian1@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clocksource/arm_arch_timer.c

index 4be83b4de2a0afd95e11c22401289a53816a358c..d2120fcf1f3f6c702420178d12db59270ed61bf9 100644 (file)
@@ -392,10 +392,10 @@ static void erratum_set_next_event_tval_generic(const int access, unsigned long
        ctrl &= ~ARCH_TIMER_CTRL_IT_MASK;
 
        if (access == ARCH_TIMER_PHYS_ACCESS) {
-               cval = evt + arch_counter_get_cntpct();
+               cval = evt + arch_counter_get_cntpct_stable();
                write_sysreg(cval, cntp_cval_el0);
        } else {
-               cval = evt + arch_counter_get_cntvct();
+               cval = evt + arch_counter_get_cntvct_stable();
                write_sysreg(cval, cntv_cval_el0);
        }