|
@@ -11,7 +11,6 @@
|
|
|
#include "vdso.h"
|
|
|
|
|
|
#include <linux/compiler.h>
|
|
|
-#include <linux/irqchip/mips-gic.h>
|
|
|
#include <linux/time.h>
|
|
|
|
|
|
#include <asm/clocksource.h>
|
|
@@ -125,9 +124,9 @@ static __always_inline u64 read_gic_count(const union mips_vdso_data *data)
|
|
|
u32 hi, hi2, lo;
|
|
|
|
|
|
do {
|
|
|
- hi = __raw_readl(gic + GIC_UMV_SH_COUNTER_63_32_OFS);
|
|
|
- lo = __raw_readl(gic + GIC_UMV_SH_COUNTER_31_00_OFS);
|
|
|
- hi2 = __raw_readl(gic + GIC_UMV_SH_COUNTER_63_32_OFS);
|
|
|
+ hi = __raw_readl(gic + sizeof(lo));
|
|
|
+ lo = __raw_readl(gic);
|
|
|
+ hi2 = __raw_readl(gic + sizeof(lo));
|
|
|
} while (hi2 != hi);
|
|
|
|
|
|
return (((u64)hi) << 32) + lo;
|