Thread (15 messages) 15 messages, 3 authors, 2015-08-17

RE: [PATCH 1/4] serial: xuartps: Fix termios issue for enabling odd parity

From: Anirudha Sarangi <hidden>
Date: 2015-08-17 18:06:15
Also in: linux-arm-kernel, lkml

Hi,
-----Original Message-----
From: Peter Hurley [mailto:peter@hurleysoftware.com]
Sent: Monday, August 17, 2015 9:54 PM
To: Anirudha Sarangi; Michal Simek
Cc: linux-kernel@vger.kernel.org; monstr@monstr.eu; Soren Brinkmann; Jiri
Slaby; linux-serial@vger.kernel.org; Greg Kroah-Hartman; linux-arm-
kernel@lists.infradead.org
Subject: Re: [PATCH 1/4] serial: xuartps: Fix termios issue for enabling odd parity

On 08/17/2015 11:55 AM, Anirudha Sarangi wrote:
quoted
Hi,
quoted
-----Original Message-----
From: Peter Hurley [mailto:peter@hurleysoftware.com]
Sent: Monday, August 17, 2015 9:09 PM
To: Michal Simek
Cc: linux-kernel@vger.kernel.org; monstr@monstr.eu; Anirudha Sarangi;
Soren Brinkmann; Jiri Slaby; linux-serial@vger.kernel.org; Greg
Kroah-Hartman; linux- arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/4] serial: xuartps: Fix termios issue for
enabling odd parity

On 08/17/2015 03:22 AM, Michal Simek wrote:
quoted
From: Anirudha Sarangi <redacted>

Existing set_termios does not handle the option for enabling odd
parity. This patch fixes it.
NAK. PARODD does not enable parity generation or detection.
What if someone is trying to change from even to odd parity?
If userspace wants odd parity, then c_cflag must have both PARENB and PARODD
set.

Just PARODD does nothing.

From SUS v4, General Terminal Interface, 11.2.4 Control Modes;

"If PARENB is set, parity generation and detection shall be enabled and a parity
bit is added to each byte. If parity is enabled, PARODD shall specify odd parity if
set; otherwise, even parity shall be used."
Thanks a lot. I will incorporate the changes.
quoted
In this conditional case, we setup some register bit for the same.
Is the above use case not a valid one?

Regards
Anirudha
quoted
Regards,
Peter Hurley
quoted
Signed-off-by: Anirudha Sarangi <redacted>
Signed-off-by: Michal Simek <redacted>
---

 drivers/tty/serial/xilinx_uartps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/xilinx_uartps.c
b/drivers/tty/serial/xilinx_uartps.c
index 009e0dbc12d2..a3020344ac9d 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -723,7 +723,7 @@ static void cdns_uart_set_termios(struct
uart_port
*port,
quoted
    else
            cval |= CDNS_UART_MR_STOPMODE_1_BIT; /* 1 STOP bit */

-   if (termios->c_cflag & PARENB) {
+   if ((termios->c_cflag & PARENB) || (termios->c_cflag & PARODD))
+ {
            /* Mark or Space parity */
            if (termios->c_cflag & CMSPAR) {
                    if (termios->c_cflag & PARODD)


This email and any attachments are intended for the sole use of the named
recipient(s) and contain(s) confidential information that may be proprietary,
privileged or copyrighted under applicable law. If you are not the intended
recipient, do not read, copy, or forward this email message or any attachments.
Delete this email message and any attachments immediately.
quoted


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help