summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-04-26 20:24:28 +0000
committerphk <phk@FreeBSD.org>2002-04-26 20:24:28 +0000
commit0054f0f74b4415097c17e647b18be568e088debd (patch)
tree61c1590387f116655d9c80b8e7b3ced6030e81c9 /sys/pci
parent8fb7b3e1de2f4a190bd736f36efaace478312ffe (diff)
downloadFreeBSD-src-0054f0f74b4415097c17e647b18be568e088debd.zip
FreeBSD-src-0054f0f74b4415097c17e647b18be568e088debd.tar.gz
Simplify the RFC2783 and PPS_SYNC timestamp collection API.
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/xrpu.c10
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);
}
}
}
OpenPOWER on IntegriCloud