Messages in this thread | | | From | Marc Zyngier <> | Subject | [PATCH 0/7] clocksource/arm_arch_timer: Removing the static branch on errata handling | Date | Mon, 8 Apr 2019 16:49:00 +0100 |
| |
The static key used to deal with the errata workaround that plague a significant number of arm64 systems (who thought that building a timer was that hard?) has proved to be a disaster when dealing with lockdep. We try to activate it in contexts that were never expected, and things break pretty loudly.
This series takes the easy way out and removes the static key altogether. It always looked like premature optimisation anyway, and some of the hooks can be implemented in saner ways. To get there, some unrelated bits have to be fixed first: the 32bit vdso as well as some of the arm64 stuff.
Marc Zyngier (7): ARM: vdso: Remove dependency with the arch_timer driver internals watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct clocksource/arm_arch_timer: Direcly assign set_next_event workaround clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable clocksource/arm_arch_timer: Remove use of workaround static key clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters
arch/arm/include/asm/arch_timer.h | 18 ++++- arch/arm/include/asm/cp15.h | 2 + arch/arm/vdso/vgettimeofday.c | 5 +- arch/arm64/include/asm/arch_timer.h | 78 +++++++++++++----- arch/arm64/kernel/traps.c | 4 +- drivers/clocksource/arm_arch_timer.c | 115 +++++++++++++-------------- drivers/watchdog/sbsa_gwdt.c | 2 +- 7 files changed, 139 insertions(+), 85 deletions(-)
-- 2.20.1
| |