linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
@ 2022-09-14  6:14 Kunkun Jiang
  2022-09-14 10:18 ` Oliver Upton
  0 siblings, 1 reply; 3+ messages in thread
From: Kunkun Jiang @ 2022-09-14  6:14 UTC (permalink / raw)
  To: Mark Rutland, Marc Zyngier, Daniel Lezcano, Thomas Gleixner,
	Oliver Upton
  Cc: wanghaibin.wang, yuzenghui, Kunkun Jiang, linux-arm-kernel, linux-kernel

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@huawei.com>
Acked-by: Marc Zyngier <maz@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
-- 
2.27.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
  2022-09-14  6:14 [PATCH v3] clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921 Kunkun Jiang
@ 2022-09-14 10:18 ` Oliver Upton
  2022-09-20  8:33   ` Daniel Lezcano
  0 siblings, 1 reply; 3+ messages in thread
From: Oliver Upton @ 2022-09-14 10:18 UTC (permalink / raw)
  To: Kunkun Jiang
  Cc: Mark Rutland, Marc Zyngier, Daniel Lezcano, Thomas Gleixner,
	wanghaibin.wang, yuzenghui, linux-arm-kernel, linux-kernel

On Wed, Sep 14, 2022 at 02:14:24PM +0800, 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@huawei.com>
> Acked-by: Marc Zyngier <maz@kernel.org>

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>

--
Thanks,
Oliver

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
  2022-09-14 10:18 ` Oliver Upton
@ 2022-09-20  8:33   ` Daniel Lezcano
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Lezcano @ 2022-09-20  8:33 UTC (permalink / raw)
  To: Oliver Upton, Kunkun Jiang
  Cc: Mark Rutland, Marc Zyngier, Thomas Gleixner, wanghaibin.wang,
	yuzenghui, linux-arm-kernel, linux-kernel

On 14/09/2022 12:18, Oliver Upton wrote:
> On Wed, Sep 14, 2022 at 02:14:24PM +0800, 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@huawei.com>
>> Acked-by: Marc Zyngier <maz@kernel.org>
> 
> Reviewed-by: Oliver Upton <oliver.upton@linux.dev>

Applied, thanks


-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-20  8:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14  6:14 [PATCH v3] clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921 Kunkun Jiang
2022-09-14 10:18 ` Oliver Upton
2022-09-20  8:33   ` Daniel Lezcano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).