sunsab.c (d608d71cd6d19792487d08333d63c7ff20294694) sunsab.c (7bbe08d6b89fce09ae4e6a7ce62ccd3c279a31ce)
1/* sunsab.c: ASYNC Driver for the SIEMENS SAB82532 DUSCC.
2 *
3 * Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
4 * Copyright (C) 2002, 2006 David S. Miller (davem@davemloft.net)
5 *
6 * Rewrote buffer handling to use CIRC(Circular Buffer) macros.
7 * Maxim Krasnyanskiy <maxk@qualcomm.com>
8 *

--- 189 unchanged lines hidden (view full) ---

198 if (stat->sreg.isr1 & SAB82532_ISR1_BRK) {
199 flag = TTY_BREAK;
200 } else if (stat->sreg.isr0 & SAB82532_ISR0_PERR)
201 flag = TTY_PARITY;
202 else if (stat->sreg.isr0 & SAB82532_ISR0_FERR)
203 flag = TTY_FRAME;
204 }
205
1/* sunsab.c: ASYNC Driver for the SIEMENS SAB82532 DUSCC.
2 *
3 * Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
4 * Copyright (C) 2002, 2006 David S. Miller (davem@davemloft.net)
5 *
6 * Rewrote buffer handling to use CIRC(Circular Buffer) macros.
7 * Maxim Krasnyanskiy <maxk@qualcomm.com>
8 *

--- 189 unchanged lines hidden (view full) ---

198 if (stat->sreg.isr1 & SAB82532_ISR1_BRK) {
199 flag = TTY_BREAK;
200 } else if (stat->sreg.isr0 & SAB82532_ISR0_PERR)
201 flag = TTY_PARITY;
202 else if (stat->sreg.isr0 & SAB82532_ISR0_FERR)
203 flag = TTY_FRAME;
204 }
205
206 if (uart_handle_sysrq_char(&up->port, ch))
206 if (uart_handle_sysrq_char(&up->port, ch) || !port)
207 continue;
208
209 if ((stat->sreg.isr0 & (up->port.ignore_status_mask & 0xff)) == 0 &&
210 (stat->sreg.isr1 & ((up->port.ignore_status_mask >> 8) & 0xff)) == 0)
211 tty_insert_flip_char(port, ch, flag);
212 if (stat->sreg.isr0 & SAB82532_ISR0_RFO)
213 tty_insert_flip_char(port, 0, TTY_OVERRUN);
214 }

--- 933 unchanged lines hidden ---
207 continue;
208
209 if ((stat->sreg.isr0 & (up->port.ignore_status_mask & 0xff)) == 0 &&
210 (stat->sreg.isr1 & ((up->port.ignore_status_mask >> 8) & 0xff)) == 0)
211 tty_insert_flip_char(port, ch, flag);
212 if (stat->sreg.isr0 & SAB82532_ISR0_RFO)
213 tty_insert_flip_char(port, 0, TTY_OVERRUN);
214 }

--- 933 unchanged lines hidden ---