linux/drivers/tty/serial
Codrin.Ciubotariu@microchip.com 477b838310 tty/serial: atmel: RS485 & ISO7816: wait for TXRDY before sending data
At this moment, TXEMPTY is checked before sending data on RS485 and ISO7816
modes. However, TXEMPTY is risen when FIFO (if used) or the Transmit Shift
Register are empty, even though TXRDY might be up and controller is able to
receive data. Since the controller sends data only when TXEMPTY is ready,
on RS485, when DMA is not used, the RTS pin is driven low after each byte.
With this patch, the characters will be transmitted when TXRDY is up and
so, RTS pin will remain high between bytes.
The performance improvement on RS485 is about 8% with a baudrate of 300.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Acked-by: Richard Genoud <richard.genoud@gmail.com>
Link: https://lore.kernel.org/r/20200107111656.26308-1-codrin.ciubotariu@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-10 17:48:02 +01:00
..
8250 tty/serial: Migrate 8250_port to use has_sysrq 2019-12-18 15:04:43 +01:00
cpm_uart tty/serial: Migrate cpm_uart to use has_sysrq 2019-12-18 15:04:46 +01:00
jsm tty: add SPDX identifiers to Kconfig and Makefiles 2019-04-04 18:48:43 +02:00
21285.c tty: serial: 21285: stop using the unused[] variable from struct uart_port 2019-12-19 20:10:28 +01:00
altera_jtaguart.c
altera_uart.c
amba-pl010.c tty/serial: Migrate amba-pl01* to use has_sysrq 2019-12-18 15:04:44 +01:00
amba-pl011.c tty/serial: Migrate amba-pl01* to use has_sysrq 2019-12-18 15:04:44 +01:00
amba-pl011.h
apbuart.c tty/serial: Migrate apbuart to use has_sysrq 2019-12-18 15:04:44 +01:00
apbuart.h
ar933x_uart.c serial: ar933x_uart: Fix build failure with disabled console 2019-03-19 15:37:44 +01:00
arc_uart.c tty/serial: Migrate arc_uart to use has_sysrq 2019-12-18 15:04:45 +01:00
atmel_serial.c tty/serial: atmel: RS485 & ISO7816: wait for TXRDY before sending data 2020-01-10 17:48:02 +01:00
atmel_serial.h tty/serial: atmel: add ISO7816 support 2018-10-02 13:38:55 -07:00
bcm63xx_uart.c tty/serial: Migrate bcm63xx_uart to use has_sysrq 2019-12-18 15:04:43 +01:00
clps711x.c tty/serial: Migrate clps711x to use has_sysrq 2019-12-18 15:04:46 +01:00
digicolor-usart.c tty/serial: digicolor: Fix digicolor-usart already registered warning 2019-06-10 19:08:31 +02:00
dz.c tty/serial: Migrate dz to use has_sysrq 2019-12-18 15:04:47 +01:00
dz.h
earlycon-arm-semihost.c
earlycon-riscv-sbi.c tty/serial: use uart_console_write in the RISC-V SBL early console 2019-01-23 15:41:50 -08:00
earlycon.c
efm32-uart.c tty/serial: Migrate efm32-uart to use has_sysrq 2019-12-18 15:04:47 +01:00
fsl_linflexuart.c tty/serial: Migrate fsl_linflexuart to use has_sysrq 2019-12-18 15:04:48 +01:00
fsl_lpuart.c tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP 2020-01-06 20:22:36 +01:00
icom.c tty: serial: Remove call to memset after pci_alloc_consistent 2019-09-04 12:43:44 +02:00
icom.h
ifx6x60.c serial: ifx6x60: add missed pm_runtime_disable 2019-11-18 12:47:06 +01:00
ifx6x60.h
imx.c tty/serial: Migrate imx to use has_sysrq 2019-12-18 15:04:49 +01:00
ip22zilog.c tty/serial: Migrate ip22zilog to use has_sysrq 2019-12-18 15:04:50 +01:00
ip22zilog.h
Kconfig tty: serial: Kconfig: Allow SERIAL_QCOM_GENI_CONSOLE to be enabled if SERIAL_QCOM_GENI is a module 2020-01-10 14:01:33 +01:00
kgdb_nmi.c
kgdboc.c kgdboc: disable the console lock when in kgdb 2019-07-30 17:39:39 +02:00
lantiq.c serial: lantiq: Add support for Lightning Mountain SoC 2019-09-04 12:43:53 +02:00
lpc32xx_hs.c TTY/Serial driver changes for 5.4-rc1 2019-09-18 10:50:47 -07:00
Makefile {tty: serial, nand: onenand}: samsung: rename to fix build warning 2019-11-18 18:49:11 +01:00
max310x.c serial: max310x: turn off transmitter before activating AutoCTS or auto transmitter flow control 2019-09-05 09:57:44 +02:00
max3100.c
mcf.c
men_z135_uart.c drivers: mcb: use symbol namespaces 2019-11-03 19:54:53 +01:00
meson_uart.c tty/serial: Migrate meson_uart to use has_sysrq 2019-12-18 15:04:50 +01:00
milbeaut_usio.c tty/serial: Migrate milbeaut_usio to use has_sysrq 2019-12-18 15:04:51 +01:00
mpc52xx_uart.c tty/serial: mpc52xx_uart: Don't zero port->sysrq 2019-12-18 15:04:52 +01:00
mps2-uart.c serial: mps2-uart: Add parentheses around conditional in mps2_uart_shutdown 2019-01-31 19:34:10 +01:00
msm_serial.c Merge 5.5-rc3 into tty-next 2019-12-23 06:59:19 -05:00
mux.c tty/serial: Migrate mux to use has_sysrq 2019-12-18 15:04:53 +01:00
mvebu-uart.c tty: Remove dev_err() usage after platform_get_irq() 2019-09-04 12:43:49 +02:00
mxs-auart.c tty/serial: Migrate mxs-auart to use has_sysrq 2019-12-18 15:04:53 +01:00
omap-serial.c tty/serial: Migrate omap-serial to use has_sysrq 2019-12-18 15:04:54 +01:00
owl-uart.c tty: serial: owl: Fix the link time qualifier of 'owl_uart_exit()' 2019-10-04 15:01:15 +02:00
pch_uart.c tty/serial: pmac_zilog: Don't check port->sysrq 2019-12-18 15:04:56 +01:00
pic32_uart.c serial: set suppress_bind_attrs flag only if builtin 2018-11-09 09:07:17 -08:00
pic32_uart.h
pmac_zilog.c tty/serial: Migrate pmac_zilog to use has_sysrq 2019-12-18 15:04:56 +01:00
pmac_zilog.h
pnx8xxx_uart.c tty/serial: Migrate pnx8xxx_uart to use has_sysrq 2019-12-18 15:04:57 +01:00
pxa.c tty/serial: Migrate pxa to use has_sysrq 2019-12-18 15:04:57 +01:00
qcom_geni_serial.c tty: serial: qcom_geni_serial: Move loopback support to TIOCM_LOOP 2020-01-06 20:22:34 +01:00
rda-uart.c tty: serial: rda: Fix the link time qualifier of 'rda_uart_exit()' 2019-10-04 15:01:15 +02:00
rp2.c
sa1100.c tty/serial: Migrate sa1100 to use has_sysrq 2019-12-18 15:04:59 +01:00
samsung_tty.c serial: samsung: Rename Exynos to lowercase 2020-01-06 20:22:33 +01:00
sb1250-duart.c tty/serial: Migrate sb1250-duart to use has_sysrq 2019-12-18 15:05:00 +01:00
sc16is7xx.c Merge 5.1-rc6 into tty-next 2019-04-21 23:20:08 +02:00
sccnxp.c tty/serial: Migrate sccnxp to use has_sysrq 2019-12-18 15:05:00 +01:00
serial_core.c serial_core: Move sysrq functions from header file 2020-01-10 17:48:02 +01:00
serial_mctrl_gpio.c serial: mctrl_gpio: Check for NULL pointer 2019-10-07 13:21:54 +02:00
serial_mctrl_gpio.h serial: mctrl_gpio: Avoid probe failures in case of missing gpiolib 2019-09-04 12:43:50 +02:00
serial_txx9.c tty/serial: Migrate serial_txx9 to use has_sysrq 2019-12-18 15:05:01 +01:00
serial-tegra.c tty: serial: tegra: Use dma_request_chan() directly for channel request 2019-11-13 21:54:16 +08:00
sh-sci.c tty/serial: Migrate sh-sci to use has_sysrq 2019-12-18 15:05:02 +01:00
sh-sci.h
sifive.c tty: Remove dev_err() usage after platform_get_irq() 2019-09-04 12:43:49 +02:00
sirfsoc_uart.c
sirfsoc_uart.h serial: sirf: make register info static 2019-10-10 14:29:44 +02:00
sprd_serial.c Merge 5.5-rc3 into tty-next 2019-12-23 06:59:19 -05:00
st-asc.c tty: st-asc: switch to using devm_gpiod_get() 2020-01-10 14:01:33 +01:00
stm32-usart.c tty/serial: Migrate stm32-usart to use has_sysrq 2019-12-18 15:05:04 +01:00
stm32-usart.h serial: stm32: add support of RX FIFO threshold 2019-06-21 11:17:36 +02:00
suncore.c tty: Use of_node_name_{eq,prefix} for node name comparisons 2018-12-17 16:12:17 +01:00
sunhv.c tty/serial: Migrate sunhv to use has_sysrq 2019-12-18 15:05:05 +01:00
sunsab.c tty/serial: Migrate sunsab to use has_sysrq 2019-12-18 15:05:05 +01:00
sunsab.h
sunsu.c tty/serial: Migrate sunsu to use has_sysrq 2019-12-18 15:05:06 +01:00
sunzilog.c tty/serial: Migrate sunzilog to use has_sysrq 2019-12-18 15:05:08 +01:00
sunzilog.h
tegra-tcu.c serial: Add Tegra Combined UART driver 2019-01-30 09:31:31 +01:00
timbuart.c
timbuart.h
uartlite.c Revert "serial-uartlite: Move the uart register" 2019-11-14 06:29:08 +08:00
ucc_uart.c serial: ucc_uart: remove redundant assignment to pointer bdp 2020-01-06 20:22:32 +01:00
vr41xx_siu.c tty/serial: Migrate vr41xx_siu to use has_sysrq 2019-12-18 15:05:09 +01:00
vt8500_serial.c tty/serial: Migrate vt8500_serial to use has_sysrq 2019-12-18 15:05:09 +01:00
xilinx_uartps.c tty/serial: Migrate xilinx_uartps to use has_sysrq 2019-12-18 15:05:10 +01:00
zs.c tty/serial: Migrate zs to use has_sysrq 2019-12-18 15:05:11 +01:00
zs.h