linux_dsm_epyc7002/drivers/tty/serial
Daniel Thompson 1ffcd67dbc serial: st-asc: Fix data corruption during long console bursts
On my test platform (B2020/STiH416) the serial port issues bad characters
during the initial message avalanche as the console comes up. The problem
also occurs when dense(ish) I/O is done using the polled I/O interface.

The problem is fixed for me by using the FIFO half-empty bit rather than
FIFO full bit. Note that using the half-empty bit causes the FIFO to be
managed in a similar way to interrupt based I/O (i.e. where the hardware
gets best test coverage).

Running the FIFO half full will have no impact (good or bad) on console
performance. The UART will still remain fully saturated and the busy-wait
until the FIFO is empty in asc_console_write() will complete at the same
time.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28 12:24:31 -07:00
..
8250 tty/serial: add back missing setup_early_serial8250_console 2014-05-03 18:16:38 -04:00
cpm_uart tty: delete non-required instances of include <linux/init.h> 2014-01-07 17:05:21 -08:00
jsm
21285.c
68328serial.c
altera_jtaguart.c
altera_uart.c
amba-pl010.c serial: pl010: Convert to modern PM ops 2013-12-08 17:09:07 -08:00
amba-pl011.c tty/serial: pl011: add generic earlycon support 2014-04-24 16:32:27 -07:00
apbuart.c
apbuart.h
ar933x_uart.c
arc_uart.c
atmel_serial.c ARM: SoC: cleanups for 3.15 2014-04-05 13:51:19 -07:00
bcm63xx_uart.c tty: serial: bcm63xx_uart: add support for DT probing 2014-02-28 16:27:18 -08:00
bfin_sport_uart.c
bfin_sport_uart.h
bfin_uart.c
clps711x.c Revert "serial: clps711x: Give a chance to perform useful tasks during wait loop" 2014-04-16 14:17:44 -07:00
crisv10.c tty: serial: crisv10: Drop remaining code for CRISv10 CPU simulator 2014-02-15 12:16:21 -08:00
crisv10.h
dz.c
dz.h
earlycon-arm-semihost.c tty/serial: add arm/arm64 semihosting earlycon 2014-04-24 16:32:27 -07:00
earlycon.c tty/serial: fix generic earlycon option parsing 2014-05-03 18:16:38 -04:00
efm32-uart.c serial: efm32: use $vendor,$device scheme for compatible string 2014-04-16 14:17:43 -07:00
fsl_lpuart.c serial: fsl_lpuart: add DMA support 2014-02-18 12:50:26 -08:00
icom.c serial: icom: dereference after free in load_code() 2013-12-08 17:16:05 -08:00
icom.h
ifx6x60.c
ifx6x60.h
imx.c serial: imx: Remove init() and exit() platform callbacks 2014-02-28 16:36:45 -08:00
ioc3_serial.c
ioc4_serial.c
ip22zilog.c
ip22zilog.h
Kconfig serial: SERIAL_FSL_LPUART should depend on HAS_DMA 2014-05-28 12:24:31 -07:00
kgdb_nmi.c tty: delete non-required instances of include <linux/init.h> 2014-01-07 17:05:21 -08:00
kgdboc.c
lantiq.c
lpc32xx_hs.c
m32r_sio_reg.h
m32r_sio.c
m32r_sio.h
Makefile serial: sc16is7xx 2014-04-25 10:08:48 -07:00
max310x.c serial: max310x: Add missing #include <linux/uaccess.h> 2014-03-17 16:13:23 -07:00
max3100.c
mcf.c
men_z135_uart.c tty: serial: Add driver for MEN's 16z135 High Speed UART. 2014-04-24 16:24:25 -07:00
mfd.c
mpc52xx_uart.c serial: mpc512x: setup the PSC FIFO clock as well 2014-01-12 18:53:05 +01:00
mpsc.c
mrst_max3110.c
mrst_max3110.h
msm_serial_hs.c
msm_serial.c msm_serial: Add support for poll_{get,put}_char() 2014-02-12 11:34:23 -08:00
msm_serial.h msm_serial: Add support for poll_{get,put}_char() 2014-02-12 11:34:23 -08:00
msm_smd_tty.c
mux.c tty: serial: replace del_timer by del_timer_sync 2014-04-24 16:13:01 -07:00
mxs-auart.c tty: serial: mxs-auart: Check the return value from clk_prepare_enable() 2013-12-08 17:14:58 -08:00
netx-serial.c
nwpserial.c
of_serial.c tty: delete non-required instances of include <linux/init.h> 2014-01-07 17:05:21 -08:00
omap-serial.c tty: serial: omap: fix Sparse warnings 2014-04-24 16:19:02 -07:00
pch_uart.c serial_core: Commonalize crlf when working w/ a non open console port 2014-04-24 16:13:01 -07:00
pmac_zilog.c
pmac_zilog.h
pnx8xxx_uart.c
pxa.c serial_core: Commonalize crlf when working w/ a non open console port 2014-04-24 16:13:01 -07:00
rp2.c tty: remove DEFINE_PCI_DEVICE_TABLE macro 2013-12-08 17:09:07 -08:00
sa1100.c
samsung.c serial: samsung: Change barrier() to cpu_relax() in console output 2014-04-24 15:38:22 -07:00
samsung.h
sb1250-duart.c
sc16is7xx.c serial: sc16is7xx: dynamically allocate tx/rx buffer 2014-05-28 12:22:42 -07:00
sccnxp.c
serial_core.c Merge 3.15-rc3 into tty-next 2014-04-27 21:40:39 -07:00
serial_ks8695.c
serial_txx9.c serial_core: Commonalize crlf when working w/ a non open console port 2014-04-24 16:13:01 -07:00
serial-tegra.c serial: tegra: convert to standard DMA DT bindings 2013-12-11 16:44:35 -07:00
sh-sci.c Revert "serial: sh-sci: Add device tree support for r8a7779" 2014-04-24 19:26:16 -07:00
sh-sci.h serial: sh-sci: Move overrun_bit and error_mask fields out of pdata 2013-12-24 11:17:48 +09:00
sirfsoc_uart.c serial: sirf: fix spinlock deadlock issue 2014-05-28 12:22:43 -07:00
sirfsoc_uart.h serial: sirf: fix spinlock deadlock issue 2014-05-28 12:22:43 -07:00
sn_console.c
st-asc.c serial: st-asc: Fix data corruption during long console bursts 2014-05-28 12:24:31 -07:00
suncore.c
sunhv.c sparc: serial: Clean up the locking for -rt 2014-03-06 16:32:25 -05:00
sunsab.c sparc: serial: Clean up the locking for -rt 2014-03-06 16:32:25 -05:00
sunsab.h
sunsu.c sparc: serial: Clean up the locking for -rt 2014-03-06 16:32:25 -05:00
sunzilog.c sparc: serial: Clean up the locking for -rt 2014-03-06 16:32:25 -05:00
sunzilog.h
tilegx.c
timbuart.c
timbuart.h
uartlite.c tty: serial: uartlite: Specify time for sending chars 2014-05-28 12:24:31 -07:00
ucc_uart.c
vr41xx_siu.c
vt8500_serial.c
xilinx_uartps.c tty: xuartps: Rebrand driver as Cadence UART 2014-04-24 16:21:51 -07:00
zs.c
zs.h