[PATCH 05/10] pps: Load timecounter once in pps_capture()

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Mar 7 06:32:15 UTC 2023


This ensures that the timecounter and the tc_get_timecount handler belong
together.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/604
---
 cpukit/score/src/kern_tc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c
index 92da675172..eca1a80f33 100644
--- a/cpukit/score/src/kern_tc.c
+++ b/cpukit/score/src/kern_tc.c
@@ -2141,6 +2141,7 @@ void
 pps_capture(struct pps_state *pps)
 {
 	struct timehands *th;
+	struct timecounter *tc;
 
 	KASSERT(pps != NULL, ("NULL pps pointer in pps_capture"));
 	th = timehands;
@@ -2149,7 +2150,8 @@ pps_capture(struct pps_state *pps)
 #ifdef FFCLOCK
 	pps->capffth = fftimehands;
 #endif
-	pps->capcount = th->th_counter->tc_get_timecount(th->th_counter);
+	tc = th->th_counter;
+	pps->capcount = tc->tc_get_timecount(tc);
 #if defined(RTEMS_SMP)
 	atomic_thread_fence_acq();
 	if (pps->capgen != th->th_generation)
-- 
2.35.3



More information about the devel mailing list