diff options
author | René Bürgel <r.buergel@unicontrol.de> | 2008-12-21 02:54:31 -0700 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2008-12-21 02:54:31 -0700 |
commit | b65149880d0467287fa4c7b4f19953392323f4ac (patch) | |
tree | 3deeca7f6219eb27566a52f80cb54e7dd09fb767 /drivers/serial | |
parent | e51f47a5c695b76905aadc2be47c7dc774f3e5af (diff) | |
download | blackbird-op-linux-b65149880d0467287fa4c7b4f19953392323f4ac.tar.gz blackbird-op-linux-b65149880d0467287fa4c7b4f19953392323f4ac.zip |
powerpc/mpc5200: Make PSC UART driver update serial errors counters
This patch adds the capability to the mpc52xx-uart to report framing
errors, parity errors, breaks and overruns to userspace. These values
may be requested in userspace by using the ioctl TIOCGICOUNT.
Signed-off-by: René Bürgel <r.buergel@unicontrol.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 28c00c3d58f5..d82650d54391 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c @@ -752,10 +752,15 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port) if (status & MPC52xx_PSC_SR_RB) { flag = TTY_BREAK; uart_handle_break(port); - } else if (status & MPC52xx_PSC_SR_PE) + port->icount.brk++; + } else if (status & MPC52xx_PSC_SR_PE) { flag = TTY_PARITY; - else if (status & MPC52xx_PSC_SR_FE) + port->icount.parity++; + } + else if (status & MPC52xx_PSC_SR_FE) { flag = TTY_FRAME; + port->icount.frame++; + } /* Clear error condition */ out_8(&PSC(port)->command, MPC52xx_PSC_RST_ERR_STAT); @@ -769,6 +774,7 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port) * affect the current character */ tty_insert_flip_char(tty, 0, TTY_OVERRUN); + port->icount.overrun++; } } |