]> git.baikalelectronics.ru Git - kernel.git/commit
tty/serial: atmel: RS485 & ISO7816: wait for TXRDY before sending data
authorCodrin.Ciubotariu@microchip.com <Codrin.Ciubotariu@microchip.com>
Tue, 7 Jan 2020 11:17:47 +0000 (11:17 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2020 16:48:02 +0000 (17:48 +0100)
commit6702fc7fa08e29f8c88867b313a964f35a1d51ad
tree002dff65ee4294d11765dbe136221181fda2534f
parent259e6a05f241e7f09932553611aa52f59e56b0ee
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>
drivers/tty/serial/atmel_serial.c