diff options
| -rw-r--r-- | arch/arm/include/asm/cp15.h | 2 | ||||
| -rw-r--r-- | arch/arm/vdso/vgettimeofday.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/include/asm/cp15.h b/arch/arm/include/asm/cp15.h index 07e27f212dc7..d2453e2d3f1f 100644 --- a/arch/arm/include/asm/cp15.h +++ b/arch/arm/include/asm/cp15.h | |||
| @@ -68,6 +68,8 @@ | |||
| 68 | #define BPIALL __ACCESS_CP15(c7, 0, c5, 6) | 68 | #define BPIALL __ACCESS_CP15(c7, 0, c5, 6) |
| 69 | #define ICIALLU __ACCESS_CP15(c7, 0, c5, 0) | 69 | #define ICIALLU __ACCESS_CP15(c7, 0, c5, 0) |
| 70 | 70 | ||
| 71 | #define CNTVCT __ACCESS_CP15_64(1, c14) | ||
| 72 | |||
| 71 | extern unsigned long cr_alignment; /* defined in entry-armv.S */ | 73 | extern unsigned long cr_alignment; /* defined in entry-armv.S */ |
| 72 | 74 | ||
| 73 | static inline unsigned long get_cr(void) | 75 | static inline unsigned long get_cr(void) |
diff --git a/arch/arm/vdso/vgettimeofday.c b/arch/arm/vdso/vgettimeofday.c index a9dd619c6c29..7bdbf5d5c47d 100644 --- a/arch/arm/vdso/vgettimeofday.c +++ b/arch/arm/vdso/vgettimeofday.c | |||
| @@ -18,9 +18,9 @@ | |||
| 18 | #include <linux/compiler.h> | 18 | #include <linux/compiler.h> |
| 19 | #include <linux/hrtimer.h> | 19 | #include <linux/hrtimer.h> |
| 20 | #include <linux/time.h> | 20 | #include <linux/time.h> |
| 21 | #include <asm/arch_timer.h> | ||
| 22 | #include <asm/barrier.h> | 21 | #include <asm/barrier.h> |
| 23 | #include <asm/bug.h> | 22 | #include <asm/bug.h> |
| 23 | #include <asm/cp15.h> | ||
| 24 | #include <asm/page.h> | 24 | #include <asm/page.h> |
| 25 | #include <asm/unistd.h> | 25 | #include <asm/unistd.h> |
| 26 | #include <asm/vdso_datapage.h> | 26 | #include <asm/vdso_datapage.h> |
| @@ -123,7 +123,8 @@ static notrace u64 get_ns(struct vdso_data *vdata) | |||
| 123 | u64 cycle_now; | 123 | u64 cycle_now; |
| 124 | u64 nsec; | 124 | u64 nsec; |
| 125 | 125 | ||
| 126 | cycle_now = arch_counter_get_cntvct(); | 126 | isb(); |
| 127 | cycle_now = read_sysreg(CNTVCT); | ||
| 127 | 128 | ||
| 128 | cycle_delta = (cycle_now - vdata->cs_cycle_last) & vdata->cs_mask; | 129 | cycle_delta = (cycle_now - vdata->cs_cycle_last) & vdata->cs_mask; |
| 129 | 130 | ||
