rp2.c (7ae9fb1b7ecbb5d85d07857943f677fd1a559b18) rp2.c (fd2b55f86b8b25afc5b6e7dff53dddb3fd0dd211)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Driver for Comtrol RocketPort EXPRESS/INFINITY cards
4 *
5 * Copyright (C) 2012 Kevin Cernekee <cernekee@gmail.com>
6 *
7 * Inspired by, and loosely based on:
8 *

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

396
397static void rp2_rx_chars(struct rp2_uart_port *up)
398{
399 u16 bytes = readw(up->base + RP2_RX_FIFO_COUNT);
400 struct tty_port *port = &up->port.state->port;
401
402 for (; bytes != 0; bytes--) {
403 u32 byte = readw(up->base + RP2_DATA_BYTE) | RP2_DUMMY_READ;
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Driver for Comtrol RocketPort EXPRESS/INFINITY cards
4 *
5 * Copyright (C) 2012 Kevin Cernekee <cernekee@gmail.com>
6 *
7 * Inspired by, and loosely based on:
8 *

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

396
397static void rp2_rx_chars(struct rp2_uart_port *up)
398{
399 u16 bytes = readw(up->base + RP2_RX_FIFO_COUNT);
400 struct tty_port *port = &up->port.state->port;
401
402 for (; bytes != 0; bytes--) {
403 u32 byte = readw(up->base + RP2_DATA_BYTE) | RP2_DUMMY_READ;
404 char ch = byte & 0xff;
404 u8 ch = byte & 0xff;
405
406 if (likely(!(byte & RP2_DATA_BYTE_EXCEPTION_MASK))) {
407 if (!uart_handle_sysrq_char(&up->port, ch))
408 uart_insert_char(&up->port, byte, 0, ch,
409 TTY_NORMAL);
410 } else {
405
406 if (likely(!(byte & RP2_DATA_BYTE_EXCEPTION_MASK))) {
407 if (!uart_handle_sysrq_char(&up->port, ch))
408 uart_insert_char(&up->port, byte, 0, ch,
409 TTY_NORMAL);
410 } else {
411 char flag = TTY_NORMAL;
411 u8 flag = TTY_NORMAL;
412
413 if (byte & RP2_DATA_BYTE_BREAK_m)
414 flag = TTY_BREAK;
415 else if (byte & RP2_DATA_BYTE_ERR_FRAMING_m)
416 flag = TTY_FRAME;
417 else if (byte & RP2_DATA_BYTE_ERR_PARITY_m)
418 flag = TTY_PARITY;
419 uart_insert_char(&up->port, byte,

--- 425 unchanged lines hidden ---
412
413 if (byte & RP2_DATA_BYTE_BREAK_m)
414 flag = TTY_BREAK;
415 else if (byte & RP2_DATA_BYTE_ERR_FRAMING_m)
416 flag = TTY_FRAME;
417 else if (byte & RP2_DATA_BYTE_ERR_PARITY_m)
418 flag = TTY_PARITY;
419 uart_insert_char(&up->port, byte,

--- 425 unchanged lines hidden ---