arm_arch_timer: Expose event stream status
authorJulien Thierry <julien.thierry@arm.com>
Fri, 13 Oct 2017 13:32:55 +0000 (14:32 +0100)
committerWill Deacon <will.deacon@arm.com>
Fri, 13 Oct 2017 17:55:05 +0000 (18:55 +0100)
commitec5c8e429d07737ee94ee1fd2ae5029547484194
tree8272f13001ee42fc7ba31115a4c2d119a77b27ea
parent611a7bc74ed2dcbab6693c20bb534cfcf15f9d1d
arm_arch_timer: Expose event stream status

The arch timer configuration for a CPU might get reset after suspending
said CPU.

In order to reliably use the event stream in the kernel (e.g. for delays),
we keep track of the state where we can safely consider the event stream as
properly configured. After writing to cntkctl, we issue an ISB to ensure
that subsequent delay loops can rely on the event stream being enabled.

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/include/asm/arch_timer.h
arch/arm64/include/asm/arch_timer.h
drivers/clocksource/arm_arch_timer.c
include/clocksource/arm_arch_timer.h