serial-tegra.c (9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e) | serial-tegra.c (fd2b55f86b8b25afc5b6e7dff53dddb3fd0dd211) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * serial_tegra.c 4 * 5 * High-speed serial driver for NVIDIA Tegra SoCs 6 * 7 * Copyright (c) 2012-2019, NVIDIA CORPORATION. All rights reserved. 8 * --- 420 unchanged lines hidden (view full) --- 429 430 tup->current_baud = baud; 431 432 /* wait two character intervals at new rate */ 433 tegra_uart_wait_sym_time(tup, 2); 434 return 0; 435} 436 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * serial_tegra.c 4 * 5 * High-speed serial driver for NVIDIA Tegra SoCs 6 * 7 * Copyright (c) 2012-2019, NVIDIA CORPORATION. All rights reserved. 8 * --- 420 unchanged lines hidden (view full) --- 429 430 tup->current_baud = baud; 431 432 /* wait two character intervals at new rate */ 433 tegra_uart_wait_sym_time(tup, 2); 434 return 0; 435} 436 |
437static char tegra_uart_decode_rx_error(struct tegra_uart_port *tup, | 437static u8 tegra_uart_decode_rx_error(struct tegra_uart_port *tup, |
438 unsigned long lsr) 439{ | 438 unsigned long lsr) 439{ |
440 char flag = TTY_NORMAL; | 440 u8 flag = TTY_NORMAL; |
441 442 if (unlikely(lsr & TEGRA_UART_LSR_ANY)) { 443 if (lsr & UART_LSR_OE) { 444 /* Overrun error */ 445 flag = TTY_OVERRUN; 446 tup->uport.icount.overrun++; 447 dev_dbg(tup->uport.dev, "Got overrun errors\n"); 448 } else if (lsr & UART_LSR_PE) { --- 188 unchanged lines hidden (view full) --- 637 uart_write_wakeup(&tup->uport); 638 tegra_uart_start_next_tx(tup); 639} 640 641static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup, 642 struct tty_port *port) 643{ 644 do { | 441 442 if (unlikely(lsr & TEGRA_UART_LSR_ANY)) { 443 if (lsr & UART_LSR_OE) { 444 /* Overrun error */ 445 flag = TTY_OVERRUN; 446 tup->uport.icount.overrun++; 447 dev_dbg(tup->uport.dev, "Got overrun errors\n"); 448 } else if (lsr & UART_LSR_PE) { --- 188 unchanged lines hidden (view full) --- 637 uart_write_wakeup(&tup->uport); 638 tegra_uart_start_next_tx(tup); 639} 640 641static void tegra_uart_handle_rx_pio(struct tegra_uart_port *tup, 642 struct tty_port *port) 643{ 644 do { |
645 char flag = TTY_NORMAL; | |
646 unsigned long lsr = 0; | 645 unsigned long lsr = 0; |
647 unsigned char ch; | 646 u8 ch, flag = TTY_NORMAL; |
648 649 lsr = tegra_uart_read(tup, UART_LSR); 650 if (!(lsr & UART_LSR_DR)) 651 break; 652 653 flag = tegra_uart_decode_rx_error(tup, lsr); 654 if (flag != TTY_NORMAL) 655 continue; --- 1050 unchanged lines hidden --- | 647 648 lsr = tegra_uart_read(tup, UART_LSR); 649 if (!(lsr & UART_LSR_DR)) 650 break; 651 652 flag = tegra_uart_decode_rx_error(tup, lsr); 653 if (flag != TTY_NORMAL) 654 continue; --- 1050 unchanged lines hidden --- |