提交 16ae123e 编写于 作者: P Paul Burton 提交者: Ralf Baechle

MIPS: VDSO: Avoid use of linux/irqchip/mips-gic.h

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: NPaul Burton <paul.burton@imgtec.com>
Acked-by: NMarc 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: NRalf Baechle <ralf@linux-mips.org>
上级 dd016350
......@@ -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;
......
......@@ -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 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册