platform_kernel-5.15/drivers/tty/serial
Uwe Kleine-König 079a036f42 serial/mxs-auart: increase time to wait for transmitter to become idle
Without this patch the driver waits ~1 ms for the UART to become idle. At
115200n8 this time is (theoretically) enough to transfer 11.5 characters
(= 115200 bits/s / (10 Bits/char) * 1ms). As the mxs-auart has a fifo size
of 16 characters the clock is gated too early. The problem is worse for
lower baud rates.

This only happens to really shut down the transmitter in the middle of a
transfer if /dev/ttyAPPx isn't opened in userspace (e.g. by a getty) but
was at least once (because the bootloader doesn't disable the transmitter).

So increase the timeout to 20 ms which should be enough for 9600n8, too.
Moreover skip gating the clock if the timeout is elapsed.

Cc: stable@vger.kernel.org # v2.6.39+
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-07-26 16:34:00 -07:00
..
8250 tty/8250_early: Don't truncate last character of options 2013-07-24 15:23:38 -07:00
cpm_uart serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
jsm TTY: jsm, remove superfluous check 2013-03-18 16:17:20 -07:00
21285.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
68328serial.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2013-05-10 07:22:35 -07:00
Kconfig serial: tegra: correct help message in Kconfig from 'ttyHS' to 'ttyTHS' 2013-07-24 15:23:38 -07:00
Makefile tty: serial: add Freescale lpuart driver support 2013-06-08 22:30:44 -07:00
altera_jtaguart.c tty: serial: altera_jtaguart: Simplify altera_jtaguart_init() 2013-02-05 11:13:51 -08:00
altera_uart.c serial: altera: remove unnecessary platform_set_drvdata() 2013-05-20 11:53:46 -07:00
amba-pl010.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
amba-pl011.c Pin control changes for the v3.11 kernel cycle: 2013-07-03 11:48:03 -07:00
apbuart.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
apbuart.h
ar933x_uart.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
arc_uart.c TTY: cleanup tty->hw_stopped uses 2013-03-18 16:24:30 -07:00
atmel_serial.c tty: atmel_serial: prepare clk before calling enable 2013-06-24 16:35:03 -07:00
bcm63xx_uart.c MIPS: BCM63XX: merge bcm63xx_clk.h into bcm63xx/clk.c 2013-05-08 01:19:04 +02:00
bfin_sport_uart.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
bfin_sport_uart.h tty: bfin-sport-uart: Rx interrupt is not called always with irq disabled. 2011-12-09 19:05:33 -08:00
bfin_uart.c TTY: serial/bfin_uart, unbreak build with KGDB enabled 2013-03-18 16:24:30 -07:00
clps711x.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
crisv10.c crisv10: use counts from tty_port 2013-03-18 16:26:33 -07:00
crisv10.h crisv10: use counts from tty_port 2013-03-18 16:26:33 -07:00
dz.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
dz.h
efm32-uart.c serial/efm32: parse location property 2013-01-21 13:56:46 -08:00
fsl_lpuart.c tty: serial: add Freescale lpuart driver support 2013-06-08 22:30:44 -07:00
icom.c driver: tty: serial: remove cast for kzalloc return value 2013-03-18 17:09:37 -07:00
icom.h
ifx6x60.c tty: ifx6x60: Remove unused suspend/resume callbacks 2013-03-18 16:29:29 -07:00
ifx6x60.h serial:ifx6x60:Prevent data transfer when IFX6x60 port is shutdown 2012-11-01 08:50:01 -07:00
imx.c serial: imx: Fix serial clock unbalance 2013-06-17 12:49:43 -07:00
ioc3_serial.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
ioc4_serial.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
ip22zilog.c TTY: ip22zilog, fix tty_flip_buffer_push call 2013-01-16 07:36:47 -08:00
ip22zilog.h
kgdb_nmi.c kgdb: remove #include <linux/serial_8250.h> from kgdb.h 2013-02-04 15:35:26 -08:00
kgdboc.c KGDB/KDB fixes and cleanups 2012-10-13 11:16:58 +09:00
lantiq.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
lpc32xx_hs.c serial: lpc32xx: Fix fallout from tty_port conversion 2013-01-18 16:05:15 -08:00
m32r_sio.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
m32r_sio.h TTY: serial, include pci.h in m32r_sio 2012-03-08 11:47:02 -08:00
m32r_sio_reg.h m32r: relocate drivers back out of 8250 dir 2012-02-08 15:04:32 -08:00
max310x.c tty: max310x: Use dev_pm_ops 2013-03-18 16:29:29 -07:00
max3100.c serial: max3100: use spi_get_drvdata() and spi_set_drvdata() 2013-04-05 15:49:39 -07:00
mcf.c serial: mcf: missing uart_unregister_driver() on error in mcf_init() 2013-05-20 11:54:56 -07:00
mfd.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
mpc52xx_uart.c serial/mpc52xx_uart: fix kernel panic when system reboot 2013-06-17 12:49:43 -07:00
mpsc.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
mrst_max3110.c tty: mrst_max3110: Use dev_pm_ops 2013-03-18 16:29:29 -07:00
mrst_max3110.h max3110: add sysrq support 2011-08-26 11:01:15 -07:00
msm_serial.c msm_serial: Use devm_clk_get() and properly return errors 2013-06-24 13:06:41 -07:00
msm_serial.h
msm_serial_hs.c TTY: serial/msm_serial_hs, remove unused tty 2013-03-18 16:24:30 -07:00
msm_smd_tty.c TTY: msm_smd_tty, clean up activate/shutdown 2013-03-18 16:19:44 -07:00
mux.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
mxs-auart.c serial/mxs-auart: increase time to wait for transmitter to become idle 2013-07-26 16:34:00 -07:00
netx-serial.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
nwpserial.c tty: nwpserial: Pass correct pointer to free_irq() 2013-05-20 11:54:55 -07:00
of_serial.c serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
omap-serial.c serial: omap: Fix device tree based PM runtime 2013-06-17 12:49:44 -07:00
pch_uart.c pch_uart: Add uart_clk selection for the MinnowBoard 2013-06-25 21:24:11 -07:00
pmac_zilog.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
pmac_zilog.h tty/serial/pmac_zilog: Fix suspend & resume 2011-12-16 11:10:01 +11:00
pnx8xxx_uart.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
pxa.c serial: pxa: fine-tune clk useage 2013-01-25 08:52:23 -08:00
rp2.c serial: rp2: New driver for Comtrol RocketPort 2 cards 2013-01-17 17:28:39 -08:00
sa1100.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
samsung.c ARM SoC late changes 2013-07-02 14:42:51 -07:00
samsung.h tty: serial/samsung: fix modular build 2013-04-11 13:14:37 -07:00
sb1250-duart.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
sc26xx.c serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
sccnxp.c serial: sccnxp: Replace pdata.init/exit with regulator API 2013-04-15 11:04:07 -07:00
serial-tegra.c treewide: Fix typo in printk 2013-05-28 12:02:13 +02:00
serial_core.c serial: Move "uart_console" def to core header file. 2013-05-20 11:47:21 -07:00
serial_ks8695.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
serial_txx9.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
sh-sci.c serial: sh-sci: Initialise variables before access in sci_set_termios() 2013-06-26 17:41:16 +09:00
sh-sci.h serial: sh-sci: remove obsolete Kconfig macros 2013-03-25 14:06:45 -07:00
sirfsoc_uart.c tty/serial/sirf: fix error propagation in sirfsoc_uart_probe() 2013-06-06 13:07:05 -07:00
sirfsoc_uart.h serial: sirf: only use lookup table to set baudrate when ioclk=150MHz 2013-01-17 17:18:55 -08:00
sn_console.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
suncore.c tty: sparc: rename drivers/tty/serial/suncore.h -> include/linux/sunserialcore.h 2012-02-10 10:44:35 -08:00
sunhv.c serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
sunsab.c serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
sunsab.h
sunsu.c serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
sunzilog.c serial: use platform_{get,set}_drvdata() 2013-06-03 10:21:33 -07:00
sunzilog.h
timbuart.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
timbuart.h
uartlite.c tty: serial: uartlite: Support uartlite on big and little endian systems 2013-02-13 08:38:45 -08:00
ucc_uart.c driver: tty: add missing unregister in err case 2013-06-03 10:30:43 -07:00
vr41xx_siu.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
vt8500_serial.c serial: vt8500: Remove redundant use of of_match_ptr macro 2013-06-03 10:21:33 -07:00
xilinx_uartps.c ARM SoC specific changes 2013-07-02 13:43:38 -07:00
zs.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
zs.h