From: Henrique Gobbi <henrique.gobbi@cyclades.com>
To: Ed Vance <EdV@macrolink.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
'linux-serial' <linux-serial@vger.kernel.org>
Subject: RE: Interpretation of termios flags on a serial driver
Date: 26 Mar 2003 16:17:23 -0800 [thread overview]
Message-ID: <1048724243.2374.27.camel@localhost.localdomain> (raw)
In-Reply-To: <11E89240C407D311958800A0C9ACF7D1A33E03@EXCHANGE>
Hello Ed !
Thanks for the feedback.
Please read my coments (doubts actually) below:
> > 4 - INPCK flag: What's the purpose of this flag. What's the
> > diference in
> > relation to IGNPAR;
> If INPCK is set, input parity checking is enabled. If
> INPCK is not set, input parity checking is disabled. This
> allows output parity generation without input parity errors.
> Note that whether input parity checking is enabled or dis-
> abled is independent of whether parity detection is enabled
> or disabled. If parity detection is enabled but input parity
> checking is disabled, the hardware to which the terminal is
> connected will recognize the parity bit, but the terminal
> special file will not check whether this is set correctly or
> not.
>
> If IGNPAR is set, a byte with framing or parity errors
> (other than break) is ignored. This means that the data byte
> with the error is thrown away by the driver as if the byte
> had never been received.
>
> In short,
> If INPCK is _not_ set, then all received data bytes will be delivered
> to the user level, regardless of parity errors.
> If IGNPAR is set, then only received data bytes that do not have
> parity errors will be delivered to the user level.
> If PARENB is _not_ set, then the receiver hardware will not detect
> bad parity, so all received data bytes are considered free of errors.
> Since there are no data bytes with associated error indications,
> setting IGNPAR would have no effect. All of the data are considered
> error free.
Your explanation makes sense to me. With this information I built the
table:
IGNPAR INPCK ACTION:
0 0 Deliver all data to the user-level
0 1 Check parity. Discard erroneous bytes
1 0 ????
1 1 Check parity. Discard erroneous bytes
What goes on ???? ?
> > 5 - If the TTY knows the data status (PARITY, FRAMING,
> > OVERRUN, NORMAL),
> > why the driver has to deal with the flag IGNPAR. Shouldn't
> > the TTY being
> > doing it ?
>
> Not sure I understand the question. Received data does not carry any
> information about errors with it after it leaves the driver, unless
> PARMRK is set.
When the driver copy the data from the controler to the flip buffer it
copies the data to the buffer tty->flip.char_buf_ptr and it set a flag
(TTY_NORMAL, TTY_PARITY, TTY_FRAME, etc) on the buffer
tty->flip.flag_buf_ptr telling the TTY how this byte was received. So
the TTY knows if certain byte was problematic or not. Did you understand
my doubt know ?
Thanks for your patience
Henrique
next prev parent reply other threads:[~2003-03-27 0:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-26 23:33 Interpretation of termios flags on a serial driver Ed Vance
2003-03-27 0:17 ` Henrique Gobbi [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-03-27 0:59 Ed Vance
2003-03-27 19:06 ` David Lawyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1048724243.2374.27.camel@localhost.localdomain \
--to=henrique.gobbi@cyclades.com \
--cc=EdV@macrolink.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox