summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm
diff options
context:
space:
mode:
authorSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>2013-08-13 13:43:26 +0100
committerSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>2013-09-26 09:47:06 +0100
commit28061758dc83df445a05af347b5ce55ccd968c03 (patch)
tree1d71665616502ee20af7450d0f27fd2d0d39d119 /arch/arm64/include/asm
parent4a10c2ac2f368583138b774ca41fac4207911983 (diff)
ARM/ARM64: arch_timer: add macros for bits in control register
Add macros to describe the bitfields in the ARM architected timer control register to make code easy to understand. Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Diffstat (limited to 'arch/arm64/include/asm')
-rw-r--r--arch/arm64/include/asm/arch_timer.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h
index c9f1d2816c2b..2b9722f42729 100644
--- a/arch/arm64/include/asm/arch_timer.h
+++ b/arch/arm64/include/asm/arch_timer.h
@@ -96,12 +96,16 @@ static inline void arch_counter_set_user_access(void)
{
u32 cntkctl;
- /* Disable user access to the timers and the physical counter. */
asm volatile("mrs %0, cntkctl_el1" : "=r" (cntkctl));
- cntkctl &= ~((3 << 8) | (1 << 0));
- /* Enable user access to the virtual counter and frequency. */
- cntkctl |= (1 << 1);
+ /* Disable user access to the timers and the physical counter */
+ cntkctl &= ~(ARCH_TIMER_USR_PT_ACCESS_EN
+ | ARCH_TIMER_USR_VT_ACCESS_EN
+ | ARCH_TIMER_USR_PCT_ACCESS_EN);
+
+ /* Enable user access to the virtual counter */
+ cntkctl |= ARCH_TIMER_USR_VCT_ACCESS_EN;
+
asm volatile("msr cntkctl_el1, %0" : : "r" (cntkctl));
}