diff options
author | phk <phk@FreeBSD.org> | 2002-04-26 20:24:28 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-04-26 20:24:28 +0000 |
commit | 0054f0f74b4415097c17e647b18be568e088debd (patch) | |
tree | 61c1590387f116655d9c80b8e7b3ced6030e81c9 /sys/pci/xrpu.c | |
parent | 8fb7b3e1de2f4a190bd736f36efaace478312ffe (diff) | |
download | FreeBSD-src-0054f0f74b4415097c17e647b18be568e088debd.zip FreeBSD-src-0054f0f74b4415097c17e647b18be568e088debd.tar.gz |
Simplify the RFC2783 and PPS_SYNC timestamp collection API.
Diffstat (limited to 'sys/pci/xrpu.c')
-rw-r--r-- | sys/pci/xrpu.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/pci/xrpu.c b/sys/pci/xrpu.c index 1cae322..6a2f13c 100644 --- a/sys/pci/xrpu.c +++ b/sys/pci/xrpu.c @@ -94,22 +94,28 @@ xrpu_poll_pps(struct timecounter *tc) for (i = 0; i < XRPU_MAX_PPS; i++) { if (sc->assert[i]) { + sc->pps[i].capgen = tc->tc_generation; ppscount = *(sc->assert[i]) & tc->tc_counter_mask; j = 0; do { count1 = ppscount; ppscount = *(sc->assert[i]) & tc->tc_counter_mask; } while (ppscount != count1 && ++j < 5); - pps_event(&sc->pps[i], tc, ppscount, PPS_CAPTUREASSERT); + sc->pps[i].captc = tc; + sc->pps[i].capcount = ppscount; + pps_event(&sc->pps[i], PPS_CAPTUREASSERT); } if (sc->clear[i]) { + sc->pps[i].capgen = tc->tc_generation; j = 0; ppscount = *(sc->clear[i]) & tc->tc_counter_mask; do { count1 = ppscount; ppscount = *(sc->clear[i]) & tc->tc_counter_mask; } while (ppscount != count1 && ++j < 5); - pps_event(&sc->pps[i], tc, ppscount, PPS_CAPTURECLEAR); + sc->pps[i].captc = tc; + sc->pps[i].capcount = ppscount; + pps_event(&sc->pps[i], PPS_CAPTURECLEAR); } } } |