compositor,shared: add millihz_to_nsec()

A helper to improbe readability.

Cc: Daniel Stone <daniels@collabora.com>
Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/shared/timespec-util.h b/shared/timespec-util.h
index 0e05efc..edd4ec1 100644
--- a/shared/timespec-util.h
+++ b/shared/timespec-util.h
@@ -26,6 +26,9 @@
 #ifndef TIMESPEC_UTIL_H
 #define TIMESPEC_UTIL_H
 
+#include <stdint.h>
+#include <assert.h>
+
 #define NSEC_PER_SEC 1000000000
 
 /* Subtract timespecs
@@ -57,5 +60,16 @@
 	return (int64_t)a->tv_sec * NSEC_PER_SEC + a->tv_nsec;
 }
 
+/* Convert milli-Hertz to nanoseconds
+ *
+ * \param mhz frequency in mHz, not zero
+ * \return period in nanoseconds
+ */
+static inline int64_t
+millihz_to_nsec(uint32_t mhz)
+{
+	assert(mhz > 0);
+	return 1000000000000LL / mhz;
+}
 
 #endif /* TIMESPEC_UTIL_H */
diff --git a/src/compositor.c b/src/compositor.c
index cafac29..ea507e8 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2349,7 +2349,7 @@
 	TL_POINT("core_repaint_finished", TLP_OUTPUT(output),
 		 TLP_VBLANK(stamp), TLP_END);
 
-	refresh_nsec = 1000000000000LL / output->current_mode->refresh;
+	refresh_nsec = millihz_to_nsec(output->current_mode->refresh);
 	weston_presentation_feedback_present_list(&output->feedback_list,
 						  output, refresh_nsec, stamp,
 						  output->msc,