Skip to content

Commit

Permalink
MIPS: VDSO: Avoid use of linux/irqchip/mips-gic.h
Browse files Browse the repository at this point in the history
Our VDSO code makes use of macros from linux/irqchip/mips-gic.h to
provide offsets to register values, but these are trivial offsets to the
two 32 bit halves of a 64 bit value. Replace use of the macros with zero
(ie. omit adding an offset) and the size of the low 32 bit of the value.
This removes our need for linux/irqchip/mips-gic.h & prepares us for it
to be removed.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17047/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Paul Burton authored and Ralf Baechle committed Sep 4, 2017
1 parent dd01635 commit 16ae123
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 8 deletions.
7 changes: 3 additions & 4 deletions arch/mips/vdso/gettimeofday.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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;
Expand Down
4 changes: 0 additions & 4 deletions include/linux/irqchip/mips-gic.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,4 @@
#include <linux/clocksource.h>
#include <linux/ioport.h>

/* User Mode Visible Section Register Map */
#define GIC_UMV_SH_COUNTER_31_00_OFS 0x0000
#define GIC_UMV_SH_COUNTER_63_32_OFS 0x0004

#endif /* __LINUX_IRQCHIP_MIPS_GIC_H */

0 comments on commit 16ae123

Please sign in to comment.