Subject: [PATCH v6 0/5] ARM/ARM64 architected timer updates

From: [email-masked] (Sudeep KarkadaNagesha)
Date: Fri, 30 Aug 2013 11:07:28 +0100

On 29/08/13 15:55, Sudeep KarkadaNagesha wrote:
> From: Sudeep KarkadaNagesha <[email-masked]>
> 
> This patch series adds support to configure the rate and enable the
> event stream for architected timer. The event streams can be used to
> impose a timeout on a wfe, to safeguard against any programming error
> in case an expected event is not generated or even to implement
> wfe-based timeouts for userspace locking implementations. This feature
> can be disabled(enabled by default).
> 
> Since the timer control register is reset to zero on warm boot, CPU
> PM notifier is added to save and restore the value.
> 
Hi Russell,

Can you have a look at this series ?
If you are OK, can I have your ACK on arm specific changes(PATCH 2/5) ?

Regards,
Sudeep

> Changes v5->v6:
> 1. Disabling event stream by default on boot and enable it
>    only if CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
>    This removes runtime configuration of timer event stream.
> 2. Moved COMPAT_ELF_HWCAP_DEFAULT to arch/arm64/kernel/setup.c
> 
> Changes v4->v5:
> 1. Removed compat_dyn_elf_hwcap and used just compat_elf_hwcap as per
>    Catalin's suggestion
> 2. Instead of resetting event stream in CPU PM callbacks, saving and
>    restoring counter control register now.
> 
> Changes v3->v4:
> 1. Added a config option to en/disable the timer event stream feature.
>    Due to this the ordering of the patches as well as some cosmetic
>    code changes are done.( So dropped previous reviewed-by tags)
> 2. Removed exporting compat_dyn_elf_hwcap as there are no modules
>    requiring it for now.
> 
> Changes v2->v3:
> 1. Moved ARM and ARM64 changes into separate patches
> 2. Added native hwcaps definations(ARM/ARM64) and compat-specific
>    definitions(ARM64) to the users for the event stream feature. 
> 
> Changes v1->v2:
> 1. Saved event stream divider value on cold reset path and re-used it
>    in CPU PM notifier instead of calculating every time.
> 2. Rebased on v3.11-rc2(to avoid conflicts with __cpuinit* deletion)
> 3. Dropped "ARM/ARM64: arch_timer: remove __cpuinit attribute for
>    arch_counter_set_user_access"(already done as part of __cpuinit*
>    deletion)
> 
> Regards,
> Sudeep
> 
> 
> Sudeep KarkadaNagesha (4):
>   ARM/ARM64: arch_timer: add macros for bits in control register
>   ARM: arch_timer: add support to configure and enable event stream
>   ARM64: arch_timer: add support to configure and enable event stream
>   drivers: clocksource: add CPU PM notifier for ARM architected timer
> 
> Will Deacon (1):
>   drivers: clocksource: add support for ARM architected timer event
>     stream
> 
>  arch/arm/include/asm/arch_timer.h    | 36 ++++++++++++++++++++++----
>  arch/arm/include/uapi/asm/hwcap.h    |  1 +
>  arch/arm/kernel/setup.c              |  1 +
>  arch/arm64/include/asm/arch_timer.h  | 42 ++++++++++++++++++++++++++-----
>  arch/arm64/include/asm/hwcap.h       | 11 ++++----
>  arch/arm64/include/uapi/asm/hwcap.h  |  1 +
>  arch/arm64/kernel/setup.c            | 11 ++++++++
>  drivers/clocksource/Kconfig          | 14 +++++++++++
>  drivers/clocksource/arm_arch_timer.c | 49 ++++++++++++++++++++++++++++++++++++
>  include/clocksource/arm_arch_timer.h | 10 ++++++++
>  10 files changed, 160 insertions(+), 16 deletions(-)
>