linux_dsm_epyc7002/drivers/tty/serial
Geert Uytterhoeven 202dc3cc10 serial: sh-sci: Fix receive on SCIFA/SCIFB variants with DMA
On SCIFA and SCIFB serial ports with DMA support (i.e. some ports on
R-Car Gen2 and RZ/G1 SoCs), receive DMA operations are submitted before
the DMA channel pointer is initialized.  Hence this fails, and the
driver tries to fall back to PIO.  However, at this early phase in the
initialization sequence, fallback to PIO does not work, leading to a
serial port that cannot receive any data.

Fix this by calling sci_submit_rx() after initialization of the DMA
channel pointer.

Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Fixes: 2c4ee23530 ("serial: sh-sci: Postpone DMA release when falling back to PIO")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-15 16:20:24 +02:00
..
8250 Revert "serial: 8250_dw: Fix runtime PM handling" 2018-10-02 14:35:10 -07:00
cpm_uart serial: cpm_uart: return immediately from console poll 2018-09-18 15:22:15 +02:00
jsm tty: serial: jsm: remove redundant pointer ch 2018-07-13 15:36:32 +02:00
21285.c
altera_jtaguart.c
altera_uart.c serial: altera: set RRDY flag also without irq 2018-02-28 13:30:09 +01:00
amba-pl010.c
amba-pl011.c tty: pl011: Avoid spuriously stuck-off interrupts 2018-05-14 13:41:05 +02:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c
arc_uart.c serial: arc_uart: Fix out-of-bounds access through DT alias 2018-02-28 15:29:59 +01:00
atmel_serial.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
atmel_serial.h
bcm63xx_uart.c
clps711x.c
digicolor-usart.c
dz.c
dz.h
earlycon-arm-semihost.c
earlycon.c earlycon: Remove hardcoded port->uartclk initialization in of_setup_earlycon 2018-05-14 13:41:05 +02:00
efm32-uart.c
fsl_lpuart.c tty: serial: lpuart: avoid leaking struct tty_struct 2018-09-18 15:22:15 +02:00
icom.c
icom.h
ifx6x60.c
ifx6x60.h
imx.c serial: imx: restore handshaking irq for imx1 2018-09-20 14:51:31 +02:00
ioc3_serial.c
ioc4_serial.c
ip22zilog.c
ip22zilog.h
Kconfig tty: serial: drop ATH79 specific SoC symbols 2018-05-14 13:51:12 +02:00
kgdb_nmi.c
kgdboc.c
lantiq.c
lpc32xx_hs.c
Makefile TTY/Serial driver patches for 4.17-rc1 2018-04-04 18:43:49 -07:00
max310x.c serial: max310x: Check the clock readiness 2018-06-28 21:07:54 +09:00
max3100.c
mcf.c
men_z135_uart.c
meson_uart.c
mpc52xx_uart.c
mps2-uart.c
mpsc.c
msm_serial.c tty: serial: msm_serial: Add __maybe_unused to suspend/resume callbacks 2018-05-14 13:41:05 +02:00
mux.c
mvebu-uart.c serial: mvebu-uart: Fix reporting of effective CSIZE to userspace 2018-09-18 15:22:15 +02:00
mxs-auart.c serial: mxs-auart: disable clks of Alphascale ASM9260 2018-03-09 11:01:19 -08:00
netx-serial.c
omap-serial.c tty: omap-serial: Fix initial on-boot RTS GPIO level 2018-01-09 16:45:17 +01:00
owl-uart.c
pch_uart.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
pic32_uart.c
pic32_uart.h
pmac_zilog.c
pmac_zilog.h
pnx8xxx_uart.c
pxa.c serial: pxa: Fix an error handling path in 'serial_pxa_probe()' 2018-06-28 21:07:54 +09:00
qcom_geni_serial.c tty: serial: qcom_geni_serial: Add support for flow control 2018-07-16 11:56:22 +02:00
rp2.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
sa1100.c
samsung.c serial: samsung: check DMA engine capabilities before using DMA mode 2018-05-24 18:37:56 +02:00
samsung.h
sb1250-duart.c
sc16is7xx.c sc16is7xx: Check for an error when the clock is enabled. 2018-04-25 14:56:12 +02:00
sccnxp.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
serial_core.c uart: fix race between uart_put_char() and uart_shutdown() 2018-07-13 11:26:43 +02:00
serial_ks8695.c
serial_mctrl_gpio.c
serial_mctrl_gpio.h
serial_txx9.c
serial-tegra.c
sh-sci.c serial: sh-sci: Fix receive on SCIFA/SCIFB variants with DMA 2018-10-15 16:20:24 +02:00
sh-sci.h serial: sh-sci: Support for HSCIF RX sampling point adjustment 2018-04-23 10:08:18 +02:00
sirfsoc_uart.c serial: sirf: Fix out-of-bounds access through DT alias 2018-02-28 15:30:00 +01:00
sirfsoc_uart.h
sn_console.c
sprd_serial.c
st-asc.c tty: serial: simplify getting .drvdata 2018-04-22 17:29:43 +02:00
stm32-usart.c serial: stm32: fix initialization of RS485 mode 2018-03-15 17:39:43 +01:00
stm32-usart.h serial: stm32: add support for RS485 hardware control mode 2018-03-14 13:35:37 +01:00
suncore.c
sunhv.c
sunsab.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
sunsab.h
sunsu.c
sunzilog.c
sunzilog.h
timbuart.c
timbuart.h
uartlite.c tty: serial: uartlite: Add support for suspend and resume 2018-08-02 10:08:43 +02:00
ucc_uart.c
vr41xx_siu.c
vt8500_serial.c
xilinx_uartps.c serial: xuartps: remove unnecessary register write 2018-06-28 21:23:44 +09:00
zs.c
zs.h