diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-09-11 23:06:42 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-09-11 23:06:42 +0000 |
| commit | 8194412b8964d4bfb77866d3ac4ceadb27e80d7b (patch) | |
| tree | 0bacf5d5df77a2825660a1165c400033575725a0 /sys/dev/uart/uart_core.c | |
| parent | 78f94aa95136605c7e67672b9416b97dea1e7723 (diff) | |
Notes
Diffstat (limited to 'sys/dev/uart/uart_core.c')
| -rw-r--r-- | sys/dev/uart/uart_core.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/uart/uart_core.c b/sys/dev/uart/uart_core.c index 450313a92b9fd..883bea299683d 100644 --- a/sys/dev/uart/uart_core.c +++ b/sys/dev/uart/uart_core.c @@ -162,6 +162,15 @@ uart_intr_sigchg(struct uart_softc *sc) int new, old, sig; sig = UART_GETSIG(sc); + + if (sc->sc_pps.ppsparam.mode & PPS_CAPTUREBOTH) { + if (sig & UART_SIG_DPPS) { + pps_capture(&sc->sc_pps); + pps_event(&sc->sc_pps, (sig & UART_SIG_PPS) ? + PPS_CAPTUREASSERT : PPS_CAPTURECLEAR); + } + } + do { old = sc->sc_ttypend; new = old & ~UART_SIGMASK_STATE; @@ -393,6 +402,9 @@ uart_bus_attach(device_t dev) sc->sc_sysdev->stopbits); } + sc->sc_pps.ppscap = PPS_CAPTUREBOTH; + pps_init(&sc->sc_pps); + error = (sc->sc_sysdev != NULL && sc->sc_sysdev->attach != NULL) ? (*sc->sc_sysdev->attach)(sc) : uart_tty_attach(sc); if (error) |
