diff options
author | Will Deacon <will.deacon@arm.com> | 2013-08-23 10:32:29 -0400 |
---|---|---|
committer | Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | 2013-09-26 04:48:00 -0400 |
commit | 037f637767a82907efedda78d3ff405c34020075 (patch) | |
tree | 4478cc520fe744be36b559182bd36cbf8f61e705 /drivers/clocksource/Kconfig | |
parent | 46efe547aca8498d51b64460c02366ae4032ca32 (diff) |
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>
Diffstat (limited to 'drivers/clocksource/Kconfig')
-rw-r--r-- | drivers/clocksource/Kconfig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index 41c69469ce20..559d80335446 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig | |||
@@ -74,6 +74,21 @@ config ARM_ARCH_TIMER | |||
74 | bool | 74 | bool |
75 | select CLKSRC_OF if OF | 75 | select CLKSRC_OF if OF |
76 | 76 | ||
77 | config ARM_ARCH_TIMER_EVTSTREAM | ||
78 | bool "Support for ARM architected timer event stream generation" | ||
79 | default y if ARM_ARCH_TIMER | ||
80 | help | ||
81 | This option enables support for event stream generation based on | ||
82 | the ARM architected timer. It is used for waking up CPUs executing | ||
83 | the wfe instruction at a frequency represented as a power-of-2 | ||
84 | divisor of the clock rate. | ||
85 | The main use of the event stream is wfe-based timeouts of userspace | ||
86 | locking implementations. It might also be useful for imposing timeout | ||
87 | on wfe to safeguard against any programming errors in case an expected | ||
88 | event is not generated. | ||
89 | This must be disabled for hardware validation purposes to detect any | ||
90 | hardware anomalies of missing events. | ||
91 | |||
77 | config ARM_GLOBAL_TIMER | 92 | config ARM_GLOBAL_TIMER |
78 | bool | 93 | bool |
79 | select CLKSRC_OF if OF | 94 | select CLKSRC_OF if OF |