Subject: Re: com.c patch to track PPS
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Bill Studenmund <wrstuden@nas.nasa.gov>
List: tech-kern
Date: 02/06/2000 21:13:21
On Sun, 6 Feb 2000, Bill Studenmund wrote:

> On Sun, 6 Feb 2000, Jonathan Stone wrote:
> 
> Why?
> 
> You won't have a PPS event without generating a delta, so why not test for
> it?
> 
> All you have to do is make sure you've enabled the interrupt for DCD
> interrupts even if in local mode when PPS is enabled.

One problem I saw with what I suggest, which is present both in the older
com driver and in the MI zs driver, is the

		if (ISSET(~rr0, cs->cs_rr0_mask)) {

line (snippet taken from the zs driver). It's in the delta code, and drops
transmission if any of the bits in cs_rr0_mask are cleared.

Given the case of transmitting when DCD is asserted, that's wrong.

What I think we really need is:

a mask of bits we care about for PPS - (sc_ppsmask for com, zst_ppsmask
	for zs)

a mask of bits we want interrupts for - (sc_msr_mask for com, cs_rr0_mask
	for zs)

a mask of bits we use for flow control - currently overloaded to the
	above.

Thoughts?

Take care,

Bill