Patch "clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     clocksource-drivers-arm_arch_timer-fix-handling-of-a.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit aa35da596b448f6d4fb9d11ae03265fd6628f0c9
Author: Kunkun Jiang <jiangkunkun@xxxxxxxxxx>
Date:   Wed Sep 14 14:14:24 2022 +0800

    clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
    
    [ Upstream commit 6c3b62d93e195f78c1437c8fa7581e9b2f00886e ]
    
    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@xxxxxxxxxx>
    Acked-by: Marc Zyngier <maz@xxxxxxxxxx>
    Reviewed-by: Oliver Upton <oliver.upton@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20220914061424.1260-1-jiangkunkun@xxxxxxxxxx
    Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 8122a1646925..a7ff77550e17 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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux