io-char and LOSES_TX_INTR

bridged with qdn.public.ddk
Post Reply
Brian Meinke

io-char and LOSES_TX_INTR

Post by Brian Meinke » Tue Jan 14, 2003 11:29 pm

What exactly is the meaning of this flag (LOSES_TX_INTR)?

Line 160 of init.c (devc-ser8250):
dev->tty.flags = EDIT_INSERT | LOSES_TX_INTR;


TIA
Brian

Brian Stecher

Re: io-char and LOSES_TX_INTR

Post by Brian Stecher » Wed Jan 15, 2003 5:55 pm

Brian Meinke <RoverFan_SE7@hotmail.com> wrote:
What exactly is the meaning of this flag (LOSES_TX_INTR)?

Line 160 of init.c (devc-ser8250):
dev->tty.flags = EDIT_INSERT | LOSES_TX_INTR;
It's for a buggy chip (chips?) that would forget to raise a transmit
ready interrupt when it should. Setting that flag causes the io-char
library to start a timer that checks for the transmit ready bit every so
often. If the TX-ready interrupt is lost, the timer check will get
serial output flowing again. Also has the happy side effect of causing
serial output to work even if the user specifies the wrong interrupt number
on the command line - you'll see the characters come out at what looks
like 300 baud.

--
Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8

Brian Meinke

Re: io-char and LOSES_TX_INTR

Post by Brian Meinke » Wed Jan 15, 2003 8:45 pm

Thanks for the feedback Brian (great name BTW)That is essentially what I
gathered from the code. Is the 8250 family of chips known to "forget" to
raise a TDRE interrupt?

"Brian Stecher" <bstecher@qnx.com> wrote in message
news:b0479r$990$1@nntp.qnx.com...
Brian Meinke <RoverFan_SE7@hotmail.com> wrote:
What exactly is the meaning of this flag (LOSES_TX_INTR)?

Line 160 of init.c (devc-ser8250):
dev->tty.flags = EDIT_INSERT | LOSES_TX_INTR;

It's for a buggy chip (chips?) that would forget to raise a transmit
ready interrupt when it should. Setting that flag causes the io-char
library to start a timer that checks for the transmit ready bit every so
often. If the TX-ready interrupt is lost, the timer check will get
serial output flowing again. Also has the happy side effect of causing
serial output to work even if the user specifies the wrong interrupt
number
on the command line - you'll see the characters come out at what looks
like 300 baud.

--
Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M
1W8

Brian Stecher

Re: io-char and LOSES_TX_INTR

Post by Brian Stecher » Wed Jan 15, 2003 9:21 pm

Brian Meinke <RoverFan_SE7@hotmail.com> wrote:
Thanks for the feedback Brian (great name BTW)That is essentially what I
gathered from the code. Is the 8250 family of chips known to "forget" to
raise a TDRE interrupt?
I don't think it's all the 8250 family, just some subset of parts.
What parts those are, I don't know - similar code exists in the
QNX 4 version of the driver, so I suspect they're old.

--
Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8

Post Reply

Return to “qdn.public.ddk”