From d69690fc781de625fc8571409b24bd4a07f986b0 Mon Sep 17 00:00:00 2001
From: Luis Gerhorst <luis.gerhorst@fau.de>
Date: Mon, 18 Jun 2018 23:39:14 +0200
Subject: [PATCH] Wait with ktime_get() loop

---
 arch/arm/measuremore/trigger.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/arm/measuremore/trigger.c b/arch/arm/measuremore/trigger.c
index ac2bea7afe795..2f649ef5059f1 100644
--- a/arch/arm/measuremore/trigger.c
+++ b/arch/arm/measuremore/trigger.c
@@ -184,7 +184,12 @@ static int memo_trigger(void) {
 	for (unsigned long i = 0; i < reps; i++) {
 		memo_start_run();
 		memo_checkpoint("start");
-		udelay(delay_us);
+		const ktime_t start_ktime = ktime_get();
+		s64 elapsed_ns;
+		do {
+			elapsed_ns = ktime_to_ns(
+				ktime_sub(ktime_get(), start_ktime));
+		} while (elapsed_ns < delay_ns);
 		memo_checkpoint("stop");
 		memo_stop_run();
 	}
-- 
GitLab