drivers: clocksource: add support for ARM architected timer event stream
authorWill Deacon <will.deacon@arm.com>
Fri, 23 Aug 2013 14:32:29 +0000 (15:32 +0100)
committerSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Thu, 26 Sep 2013 08:48:00 +0000 (09:48 +0100)
commit037f637767a82907efedda78d3ff405c34020075
tree4478cc520fe744be36b559182bd36cbf8f61e705
parent46efe547aca8498d51b64460c02366ae4032ca32
drivers: clocksource: add support for ARM architected timer event stream

The ARM architected timer can generate events (used for waking up
CPUs executing the wfe instruction) at a frequency represented as a
power-of-2 divisor of the clock rate.

An event stream might be used:
- To implement wfe-based timeouts for userspace locking implementations.
- To impose a timeout on a wfe for safeguarding against any programming
  error in case an expected event is not generated.

This patch computes the event stream frequency aiming for a period
of 100us between events. It uses ARM/ARM64 specific backends to configure
and enable the event stream.

Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Will Deacon <will.deacon@arm.com>
[sudeep: moving ARM/ARM64 changes into separate patches
         and adding Kconfig option]
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
drivers/clocksource/Kconfig
drivers/clocksource/arm_arch_timer.c
include/clocksource/arm_arch_timer.h