linux-uconsole/drivers/tty/serial
Uwe Kleine-König 17e94a6347 serial/mxs-auart: increase time to wait for transmitter to become idle
commit 079a036f42 upstream.

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.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-11 18:35:21 -07:00
..
8250 parisc: Fix interrupt routing for C8000 serial ports 2013-08-11 18:35:21 -07:00
cpm_uart TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08: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
altera_jtaguart.c tty: serial: altera_jtaguart: Simplify altera_jtaguart_init() 2013-02-05 11:13:51 -08:00
altera_uart.c tty: serial: altera_uart: Simplify altera_uart_init() 2013-02-05 11:13:50 -08:00
amba-pl010.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
amba-pl011.c serial: pl011: protect attribute read from NULL platform data struct 2013-05-20 11:54:55 -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 serial: arc_uart: Fix module alias 2013-08-11 18:35:21 -07:00
atmel_serial.c tty: atmel_serial_probe(): index of atmel_ports[] fix 2013-03-15 13:23:29 -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
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: disable hardware flow control at startup 2013-06-03 10:08:28 -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
Kconfig tty: serial: fix typo "SERIAL_S3C2412" 2013-03-12 08:53:23 -07:00
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
Makefile serial: rp2: New driver for Comtrol RocketPort 2 cards 2013-01-17 17:28:39 -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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
mpc52xx_uart.c tty: serial: mpc5xxx: fix error handing in mpc52xx_uart_init() 2013-05-20 11:54:55 -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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
msm_serial.h tty: remove invalid location line in file header 2011-04-19 16:33:36 -07:00
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-08-11 18:35:21 -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: of_serial: Handle auto-flow-control property 2013-03-25 16:36:48 -07:00
omap-serial.c SERIAL: OMAP: Remove the slave idle handling from the driver 2013-05-19 16:37:08 -06:00
pch_uart.c pch_uart: Add uart_clk selection for the MinnowBoard 2013-07-21 18:21:23 -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 serial: samsung: enable clock before clearing pending interrupts during init 2013-06-03 10:08:28 -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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
sccnxp.c serial: sccnxp: Replace pdata.init/exit with regulator API 2013-04-15 11:04:07 -07:00
serial-tegra.c serial: tegra: Convert to devm_ioremap_resource() 2013-03-15 13:55:22 -07:00
serial_core.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-05-01 17:51:54 -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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08: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 MODULE_DEVICE_TABLE 2013-04-23 10:43:18 -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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
sunsab.c TTY: serial, stop accessing potential NULLs 2013-03-18 17:09:37 -07:00
sunsab.h
sunsu.c serial: sunsu: add missing platform_driver_unregister() when module exit 2013-05-04 17:39:48 -07:00
sunzilog.c TTY: serial, stop accessing potential NULLs 2013-03-18 17:09:37 -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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
vr41xx_siu.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
vt8500_serial.c Merge 3.9-rc3 into tty-next 2013-03-21 16:07:34 -07:00
xilinx_uartps.c Merge 3.9-rc5 into tty-next 2013-04-01 12:01:10 -07:00
zs.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
zs.h