Subject: Re: com.c patch to track PPS
To: Erik Fair <fair@clock.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-kern
Date: 02/06/2000 10:29:16
In message <v04220818b4c321bace41@[216.240.40.200]>Erik Fair writes
>I just tried this patch on an Alpha PC164 with a GPSclock model 200;
>no soap. There's still something not quite right in the com.c driver.
Doh! <kick self>. Changing comparam() to merge the sc_ppsmask into
sc_msr_mask has no effect, unless the PPSAPI ioctl also calls
comparam(). And to do that, it needs to fake up a struct termios, and
defeat the `no change' optimzation in comparam().
The patch I emailed you earlier will make PPSAPi work,but it might do
the wrong thing with DCD changes if CLOCAL or MDMBUF are set.
I think the right fix is to just move the ppsapi code in
comintr() outside of the
if (ISSET(delta, sc->sc_msr_mask)) {
SET(sc->sc_msr_delta, delta);
etst, and just test on delta directly. I'll post a patch after I've
had my coffee :_).
BTW: this particular bug is limited to the com driver. The so-called
but not-really mi zs driver works. I dont know about the TC Alphas;
don't they still use the 4.4bsd/pmax-derived scc driver?