diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c
index d476240..9d79f89 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -604,7 +604,7 @@ static void print_global_stats(int num_workers)
 			break;
 		}
 
-		diff = odp_time_diff(start, odp_time_local());
+		diff = odp_time_diff(odp_time_local(), start);
 		if (odp_time_cmp(wait, diff) > 0)
 			continue;
 
diff --git a/include/odp/api/time.h b/include/odp/api/time.h
index 6e403f6..d0779cd 100644
--- a/include/odp/api/time.h
+++ b/include/odp/api/time.h
@@ -54,12 +54,12 @@ odp_time_t odp_time_local(void);
 /**
  * Time difference
  *
- * @param t1    First time stamp
  * @param t2    Second time stamp
+ * @param t1    First time stamp
  *
  * @return Difference of time stamps
  */
-odp_time_t odp_time_diff(odp_time_t t1, odp_time_t t2);
+odp_time_t odp_time_diff(odp_time_t t2, odp_time_t t1);
 
 /**
  * Time sum
diff --git a/platform/linux-generic/odp_schedule.c b/platform/linux-generic/odp_schedule.c
index bb7e324..7cb822f 100644
--- a/platform/linux-generic/odp_schedule.c
+++ b/platform/linux-generic/odp_schedule.c
@@ -608,7 +608,7 @@ static int schedule_loop(odp_queue_t *out_queue, uint64_t wait,
 		}
 
 		time = odp_time_local();
-		diff  = odp_time_diff(start_time, time);
+		diff = odp_time_diff(time, start_time);
 
 		if (odp_time_cmp(wait, diff) < 0)
 			break;
diff --git a/platform/linux-generic/odp_time.c b/platform/linux-generic/odp_time.c
index fdb143f..3c439c7 100644
--- a/platform/linux-generic/odp_time.c
+++ b/platform/linux-generic/odp_time.c
@@ -31,7 +31,7 @@ odp_time_t odp_time_local(void)
 	return tick_to_time(odp_cpu_cycles());
 }
 
-odp_time_t odp_time_diff(odp_time_t t1, odp_time_t t2)
+odp_time_t odp_time_diff(odp_time_t t2, odp_time_t t1)
 {
 	return tick_to_time(_odp_cpu_cycles_diff(t1, t2));
 }
diff --git a/test/performance/odp_pktio_perf.c b/test/performance/odp_pktio_perf.c
index 2358951..ffe9844 100644
--- a/test/performance/odp_pktio_perf.c
+++ b/test/performance/odp_pktio_perf.c
@@ -337,11 +337,11 @@ static void *run_thread_tx(void *arg)
 
 	cur_time     = odp_time_local();
 	start_time   = cur_time;
-	burst_start_time = odp_time_diff(burst_gap, cur_time);
-	while (odp_time_diff(start_time, cur_time) < send_duration) {
+	burst_start_time = odp_time_diff(cur_time, burst_gap);
+	while (odp_time_diff(cur_time, start_time) < send_duration) {
 		unsigned alloc_cnt = 0, tx_cnt;
 
-		if (odp_time_diff(burst_start_time, cur_time) < burst_gap) {
+		if (odp_time_diff(cur_time, burst_start_time) < burst_gap) {
 			cur_time = odp_time_local();
 			if (!odp_time_cmp(idle_start, ODP_TIME_NULL))
 				idle_start = cur_time;
@@ -349,7 +349,7 @@ static void *run_thread_tx(void *arg)
 		}
 
 		if (odp_time_cmp(idle_start, ODP_TIME_NULL)) {
-			odp_time_t diff = odp_time_diff(idle_start, cur_time);
+			odp_time_t diff = odp_time_diff(cur_time, idle_start);
 
 			stats->s.idle_ticks =
 				odp_time_sum(diff, stats->s.idle_ticks);
@@ -600,7 +600,7 @@ static void busy_loop_ns(uint64_t wait_ns)
 	odp_time_t wait = odp_time_local_from_ns(wait_ns);
 
 	do {
-		diff = odp_time_diff(start_time, odp_time_local());
+		diff = odp_time_diff(odp_time_local(), start_time);
 	} while (odp_time_cmp(wait, diff) > 0);
 }
 
diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c
index 9435a22..2f42c27 100644
--- a/test/validation/pktio/pktio.c
+++ b/test/validation/pktio/pktio.c
@@ -346,7 +346,7 @@ static odp_event_t queue_deq_wait_time(odp_queue_t queue, uint64_t ns)
 		if (ev != ODP_EVENT_INVALID)
 			return ev;
 		now = odp_time_local();
-		diff = odp_time_diff(start, now);
+		diff = odp_time_diff(now, start);
 	} while (odp_time_to_ns(diff) < ns);
 
 	return ODP_EVENT_INVALID;
@@ -390,7 +390,7 @@ static odp_packet_t wait_for_packet(pktio_info_t *pktio_rx,
 		}
 
 		now = odp_time_local();
-		diff = odp_time_diff(start, now);
+		diff = odp_time_diff(now, start);
 	} while (odp_time_to_ns(diff) < ns);
 
 	CU_FAIL("failed to receive transmitted packet");
diff --git a/test/validation/time/time.c b/test/validation/time/time.c
index c8f02c0..f70c776 100644
--- a/test/validation/time/time.c
+++ b/test/validation/time/time.c
@@ -27,7 +27,7 @@ void time_test_odp_diff(void)
 	t2 = odp_time_local();
 	CU_ASSERT(odp_time_cmp(t2, t1) > 0);
 
-	diff = odp_time_diff(t1, t2);
+	diff = odp_time_diff(t2, t1);
 	CU_ASSERT(odp_time_cmp(diff, ODP_TIME_NULL) > 0);
 }
 
@@ -38,7 +38,7 @@ void time_test_odp_negative_diff(void)
 
 	t1 = 10;
 	t2 = 5;
-	diff = odp_time_diff(t1, t2);
+	diff = odp_time_diff(t2, t1);
 	CU_ASSERT(odp_time_cmp(diff, ODP_TIME_NULL) > 0);
 }
 
