diff options
author | Wolfram Sang <wsa@kernel.org> | 2020-07-31 15:54:27 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-07-31 15:54:27 +0200 |
commit | 073d398dc4841f62488ac6060ffeb9dfce6e0a98 (patch) | |
tree | 2ae9d508d0cd27f02584b9befb063dda5cb11a0b /drivers/clocksource/arm_arch_timer.c | |
parent | afca861bc6a3141c858d08279eb9afca76584fa6 (diff) | |
parent | 92ed301919932f777713b9172e525674157e983d (diff) |
Merge tag 'v5.8-rc7' into i2c/for-5.9
Diffstat (limited to 'drivers/clocksource/arm_arch_timer.c')
-rw-r--r-- | drivers/clocksource/arm_arch_timer.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c index ecf7b7db2d05..6c3e84180146 100644 --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -480,6 +480,14 @@ static const struct arch_timer_erratum_workaround ool_workarounds[] = { .set_next_event_virt = erratum_set_next_event_tval_virt, }, #endif +#ifdef CONFIG_ARM64_ERRATUM_1418040 + { + .match_type = ate_match_local_cap_id, + .id = (void *)ARM64_WORKAROUND_1418040, + .desc = "ARM erratum 1418040", + .disable_compat_vdso = true, + }, +#endif }; typedef bool (*ate_match_fn_t)(const struct arch_timer_erratum_workaround *, @@ -566,6 +574,9 @@ void arch_timer_enable_workaround(const struct arch_timer_erratum_workaround *wa if (wa->read_cntvct_el0) { clocksource_counter.vdso_clock_mode = VDSO_CLOCKMODE_NONE; vdso_default = VDSO_CLOCKMODE_NONE; + } else if (wa->disable_compat_vdso && vdso_default != VDSO_CLOCKMODE_NONE) { + vdso_default = VDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT; + clocksource_counter.vdso_clock_mode = vdso_default; } } |