Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

serial: 8250: create lsr_save_mask

Allow drivers to alter LSR save mask.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20220624204210.11112-3-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Ilpo Järvinen and committed by
Greg Kroah-Hartman
507bd6fb f8ba5680

+7 -2
+1 -1
drivers/tty/serial/8250/8250.h
··· 138 138 u16 lsr = up->lsr_saved_flags; 139 139 140 140 lsr |= serial_in(up, UART_LSR); 141 - up->lsr_saved_flags = lsr & LSR_SAVE_FLAGS; 141 + up->lsr_saved_flags = lsr & up->lsr_save_mask; 142 142 143 143 return lsr; 144 144 }
+4
drivers/tty/serial/8250/8250_core.c
··· 1007 1007 uart->port.rs485 = up->port.rs485; 1008 1008 uart->rs485_start_tx = up->rs485_start_tx; 1009 1009 uart->rs485_stop_tx = up->rs485_stop_tx; 1010 + uart->lsr_save_mask = up->lsr_save_mask; 1010 1011 uart->dma = up->dma; 1011 1012 1012 1013 /* Take tx_loadsz from fifosize if it wasn't set separately */ ··· 1094 1093 1095 1094 ret = 0; 1096 1095 } 1096 + 1097 + if (!uart->lsr_save_mask) 1098 + uart->lsr_save_mask = LSR_SAVE_FLAGS; /* Use default LSR mask */ 1097 1099 1098 1100 /* Initialise interrupt backoff work if required */ 1099 1101 if (up->overrun_backoff_time_ms > 0) {
+1 -1
drivers/tty/serial/8250/8250_dw.c
··· 129 129 130 130 while (tries--) { 131 131 lsr = readb (p->membase + (UART_LSR << p->regshift)); 132 - up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; 132 + up->lsr_saved_flags |= lsr & up->lsr_save_mask; 133 133 134 134 if (lsr & UART_LSR_TEMT) 135 135 break;
+1
include/linux/serial_8250.h
··· 120 120 */ 121 121 #define LSR_SAVE_FLAGS UART_LSR_BRK_ERROR_BITS 122 122 u16 lsr_saved_flags; 123 + u16 lsr_save_mask; 123 124 #define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA 124 125 unsigned char msr_saved_flags; 125 126