Author: hselasky Date: Sun Mar 8 08:34:49 2015 New Revision: 279773 URL: https://svnweb.freebsd.org/changeset/base/279773
Log: Switch polarity of PPS events. PR: 196897 Submitted by: ian @ MFC after: 1 week Modified: head/sys/dev/usb/serial/usb_serial.c Modified: head/sys/dev/usb/serial/usb_serial.c ============================================================================== --- head/sys/dev/usb/serial/usb_serial.c Sun Mar 8 07:40:40 2015 (r279772) +++ head/sys/dev/usb/serial/usb_serial.c Sun Mar 8 08:34:49 2015 (r279773) @@ -1102,14 +1102,19 @@ ucom_cfg_status_change(struct usb_proc_m sc->sc_msr = new_msr; sc->sc_lsr = new_lsr; - /* time pulse counting support */ + /* + * Time pulse counting support. Note that both CTS and DCD are + * active-low signals. The status bit is high to indicate that + * the signal on the line is low, which corresponds to a PPS + * clear event. + */ switch(ucom_pps_mode) { case 1: if ((sc->sc_pps.ppsparam.mode & PPS_CAPTUREBOTH) && (msr_delta & SER_CTS)) { pps_capture(&sc->sc_pps); pps_event(&sc->sc_pps, (sc->sc_msr & SER_CTS) ? - PPS_CAPTUREASSERT : PPS_CAPTURECLEAR); + PPS_CAPTURECLEAR : PPS_CAPTUREASSERT); } break; case 2: @@ -1117,7 +1122,7 @@ ucom_cfg_status_change(struct usb_proc_m (msr_delta & SER_DCD)) { pps_capture(&sc->sc_pps); pps_event(&sc->sc_pps, (sc->sc_msr & SER_DCD) ? - PPS_CAPTUREASSERT : PPS_CAPTURECLEAR); + PPS_CAPTURECLEAR : PPS_CAPTUREASSERT); } break; default: _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"