alistair23-linux/drivers/tty/serial
Huang Shijie 1ce43e58d4 serial: imx: check the DMA for imx_tx_empty
Assume the following situation:

  If the DMA is enabled, and the a TX DMA operation is working,
But we have not issued the TX DMA operation (or we have issued the
TX DMA operation with dma_async_issue_pending(), but the DMA has not
started to move the data from the memory to the TXFIFO).

At this time, we may get the wrong status of the transmitter when we
call the imx_tx_empty. In such situation, only check the USR2_TXDC
does not enough for us.

This patch checks the DMA's situation, and return 0 when the TX DMA is
working.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-16 13:19:54 -07:00
..
8250 serial8250-em: convert to clk_prepare/unprepare 2013-10-16 13:07:14 -07:00
cpm_uart tty: serial: cpm_uart: Adding proper request of GPIO used by cpm_uart driver 2013-08-27 22:06:22 -07:00
jsm
21285.c
68328serial.c
altera_jtaguart.c ARM: SoC DT updates for 3.12 2013-09-06 13:26:27 -07:00
altera_uart.c ARM: SoC DT updates for 3.12 2013-09-06 13:26:27 -07:00
amba-pl010.c serial: Remove unnecessary amba_set_drvdata() 2013-10-03 16:09:47 -07:00
amba-pl011.c serial: Remove unnecessary amba_set_drvdata() 2013-10-03 16:09:47 -07:00
apbuart.c tty: serial: apbuart: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:33 -07:00
apbuart.h
ar933x_uart.c tty: ar933x_uart: add device tree support and binding documentation 2013-08-30 14:11:27 -07:00
arc_uart.c serial: arc_uart: Remove casting the return value which is a void pointer 2013-09-26 14:29:58 -07:00
atmel_serial.c
bcm63xx_uart.c tty: serial: bcm63xx: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:34 -07:00
bfin_sport_uart.c serial: bfin_sport_uart: Remove casting the return value which is a void pointer 2013-09-26 14:29:58 -07:00
bfin_sport_uart.h
bfin_uart.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
clps711x.c serial: clps711x: drop needless devm_clk_put 2013-09-26 15:44:46 -07:00
crisv10.c
crisv10.h
dz.c
dz.h
efm32-uart.c tty: serial: efm32: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:34 -07:00
fsl_lpuart.c
icom.c serial: icom: move array overflow checks earlier 2013-08-27 16:24:33 -07:00
icom.h
ifx6x60.c serial: ifx6x60: Remove casting the return value which is a void pointer 2013-09-26 14:29:58 -07:00
ifx6x60.h
imx.c serial: imx: check the DMA for imx_tx_empty 2013-10-16 13:19:54 -07:00
ioc3_serial.c
ioc4_serial.c serial: ioc4_serial: Staticize ioc4_serial_attach_one() 2013-08-12 11:35:32 -07:00
ip22zilog.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
ip22zilog.h
Kconfig tty: serial: Restrict ST ASC driver to only build on !ARM when COMPILE_TEST is set. 2013-09-26 14:25:26 -07:00
kgdb_nmi.c
kgdboc.c treewide: Convert retrun typos to return 2013-09-04 12:26:36 +02:00
lantiq.c serial: MIPS: lantiq: fix clock error check 2013-08-12 11:37:48 -07:00
lpc32xx_hs.c tty: serial: lpc32xx_hs: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:34 -07:00
m32r_sio.c tty: serial: m32r_sio: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:34 -07:00
m32r_sio.h
m32r_sio_reg.h
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2013-09-06 11:14:33 -07:00
max310x.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
max3100.c
mcf.c tty: serial: mcf: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:34 -07:00
mfd.c serial: mfd: remove unnecessary pci_set_drvdata() 2013-09-26 15:41:38 -07:00
mpc52xx_uart.c serial: mpc52xx: remove reference to .set_wake() 2013-10-16 13:16:19 -07:00
mpsc.c serial: mpsc: Remove casting the return value which is a void pointer 2013-09-26 14:29:58 -07:00
mrst_max3110.c serial: mrst_max3110: Fix race condition between spi transfers 2013-10-16 13:08:16 -07:00
mrst_max3110.h
msm_serial.c msm_serial: Send more than 1 character on the console w/ UARTDM 2013-08-27 16:22:59 -07:00
msm_serial.h
msm_serial_hs.c
msm_smd_tty.c
mux.c
mxs-auart.c serial: mxs-auart: set the FIFO size to DMA buffer size 2013-10-05 18:03:01 -07:00
netx-serial.c tty: serial: netx: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:34 -07:00
nwpserial.c tty: serial: nwpserial: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:35 -07:00
of_serial.c
omap-serial.c serial: omap: delete .set_wake callback 2013-10-16 13:16:18 -07:00
pch_uart.c serial: pch_uart: remove reference to .set_wake() 2013-10-16 13:16:19 -07:00
pmac_zilog.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
pmac_zilog.h
pnx8xxx_uart.c tty: serial: pnx8xxx: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:35 -07:00
pxa.c serial: pxa: Staticize local symbols 2013-08-12 11:10:16 -07:00
rp2.c tty: serial: rp2: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:35 -07:00
sa1100.c serial: sa1100: delete .set_wake callback 2013-10-16 13:16:18 -07:00
samsung.c serial: samsung: add support for manual RTS setting 2013-09-26 15:41:38 -07:00
samsung.h serial: samsung: Remove casting the return value which is a void pointer 2013-09-26 14:29:59 -07:00
sb1250-duart.c
sc26xx.c
sccnxp.c serial: sccnxp: missing uart_unregister_driver() on error in sccnxp_probe() 2013-09-26 15:44:45 -07:00
serial-tegra.c serial: tegra: remove deprecated IRQF_DISABLED 2013-10-07 00:13:58 -07:00
serial_core.c
serial_ks8695.c
serial_txx9.c serial: txx9: remove unnecessary pci_set_drvdata() 2013-09-26 15:41:38 -07:00
sh-sci.c
sh-sci.h
sirfsoc_uart.c serial: sirf: don't submit dma desc after timeout irqs occur 2013-09-26 15:41:39 -07:00
sirfsoc_uart.h serial: sirf: fix the amount of serial ports 2013-08-27 16:25:44 -07:00
sn_console.c
st-asc.c serial: st-asc: remove unnecessary platform_set_drvdata() 2013-08-27 16:24:33 -07:00
suncore.c
sunhv.c
sunsab.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
sunsab.h
sunsu.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
sunzilog.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
sunzilog.h
tilegx.c tilegx: Add tty serial support for TILE-Gx on-chip UART 2013-09-03 14:50:40 -04:00
timbuart.c serial: timbuart: Staticize local symbols 2013-08-12 11:35:31 -07:00
timbuart.h
uartlite.c
ucc_uart.c tty: Remove unnecessary semicolons 2013-10-16 13:08:16 -07:00
vr41xx_siu.c
vt8500_serial.c tty: serial: vt8500: drop uart_port->lock before calling tty_flip_buffer_push() 2013-08-27 16:17:35 -07:00
xilinx_uartps.c
zs.c
zs.h