Merge "avtimer: update ioctl call to query avtimer" into msm-4.9
diff --git a/drivers/soc/qcom/avtimer.c b/drivers/soc/qcom/avtimer.c
index 757cdb0..f27c63b 100644
--- a/drivers/soc/qcom/avtimer.c
+++ b/drivers/soc/qcom/avtimer.c
@@ -307,8 +307,8 @@
 			| avtimer_lsw;
 	res = do_div(avtimer_tick_temp, avtimer.clk_div);
 	*avtimer_tick = avtimer_tick_temp;
-	pr_debug("%s:Avtimer: msw: %u, lsw: %u, tick: %llu\n", __func__,
-			avtimer_msw, avtimer_lsw, *avtimer_tick);
+	pr_debug_ratelimited("%s:Avtimer: msw: %u, lsw: %u, tick: %llu\n",
+			__func__,
 	return 0;
 }
 EXPORT_SYMBOL(avcs_core_query_timer);
@@ -332,22 +332,11 @@
 	switch (ioctl_num) {
 	case IOCTL_GET_AVTIMER_TICK:
 	{
-		uint32_t avtimer_msw_1st = 0, avtimer_lsw = 0;
-		uint32_t avtimer_msw_2nd = 0;
 		uint64_t avtimer_tick;
 
-		do {
-			avtimer_msw_1st = ioread32(avtimer.p_avtimer_msw);
-			avtimer_lsw = ioread32(avtimer.p_avtimer_lsw);
-			avtimer_msw_2nd = ioread32(avtimer.p_avtimer_msw);
-		} while (avtimer_msw_1st != avtimer_msw_2nd);
-
-		avtimer_lsw = avtimer_lsw/avtimer.clk_div;
-		avtimer_tick =
-		((uint64_t) avtimer_msw_1st << 32) | avtimer_lsw;
-
-		pr_debug("%s: AV Timer tick: msw: %x, lsw: %x time %llx\n",
-			 __func__, avtimer_msw_1st, avtimer_lsw, avtimer_tick);
+		avcs_core_query_timer(&avtimer_tick);
+		pr_debug_ratelimited("%s: AV Timer tick: time %llx\n",
+		__func__, avtimer_tick);
 		if (copy_to_user((void *) ioctl_param, &avtimer_tick,
 		    sizeof(avtimer_tick))) {
 			pr_err("%s: copy_to_user failed\n", __func__);