Re: [PATCH 00/17] clocksource/arch_timer: Errara workaround infrastructure rework

From: Mark Rutland
Date: Mon Mar 20 2017 - 11:31:29 EST


On Mon, Mar 06, 2017 at 11:26:05AM +0000, Marc Zyngier wrote:
> It has recently become obvious that a number of arm64 systems have
> been blessed with a set of timers that are slightly less than perfect,
> and require a bit of hand-holding. We already have a bunch of
> errata-specific code to deal with this, but as we're adding more
> potential detection methods (DT, ACPI, capability), things are getting
> a bit out of hands.
>
> Instead of adding more ad-hoc fixes to an already difficult code base,
> let's give ourselves a bit of an infrastructure that can deal with
> this and hide most of the uggliness behind frendly accessors.

> Documentation/arm64/silicon-errata.txt | 1 +
> arch/arm64/include/asm/arch_timer.h | 44 ++-
> arch/arm64/include/asm/cpucaps.h | 3 +-
> arch/arm64/include/asm/cputype.h | 2 +
> arch/arm64/include/asm/esr.h | 2 +
> arch/arm64/kernel/cpu_errata.c | 15 +
> arch/arm64/kernel/cpufeature.c | 13 +-
> arch/arm64/kernel/traps.c | 14 +
> drivers/clocksource/Kconfig | 11 +
> drivers/clocksource/arm_arch_timer.c | 529 +++++++++++++++++++++++----------
> 10 files changed, 465 insertions(+), 169 deletions(-)

Largely this looks ok.

What's the plan for merging this?

If you can respin this, I can see about collating this with the ACPI
GTDT patches, but I'm not sure what to do about the arch/arm64/ parts.

Thanks,
Mark.