summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2017-05-18 10:46:02 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-05-25 15:42:42 +0200
commite546d778d6bb3e1a80697a6556d870c707e6df82 (patch)
tree74be92391f0b87fbdc5682bc855d4c54c012b896
parent7975bd4cca05a99aa14964cfa22366ee64da50ad (diff)
downloadlinux-e546d778d6bb3e1a80697a6556d870c707e6df82.tar.bz2
Drivers: hv: vmbus: Get the current time from the current clocksource
The current code uses the MSR based mechanism to get the current tick. Use the current clock source as that might be more optimal. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/x86/include/asm/mshyperv.h1
-rw-r--r--drivers/hv/hv.c2
2 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index fba100713924..18325dcdb7f1 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -137,7 +137,6 @@ static inline void vmbus_signal_eom(struct hv_message *msg, u32 old_msg_type)
}
}
-#define hv_get_current_tick(tick) rdmsrl(HV_X64_MSR_TIME_REF_COUNT, tick)
#define hv_init_timer(timer, tick) wrmsrl(timer, tick)
#define hv_init_timer_config(config, val) wrmsrl(config, val)
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index 12e7baecb84e..61fc8ce169a5 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -96,7 +96,7 @@ static int hv_ce_set_next_event(unsigned long delta,
WARN_ON(!clockevent_state_oneshot(evt));
- hv_get_current_tick(current_tick);
+ current_tick = hyperv_cs->read(NULL);
current_tick += delta;
hv_init_timer(HV_X64_MSR_STIMER0_COUNT, current_tick);
return 0;