1
0
Fork 0
alistair23-linux/drivers/tty/serial
Dave Martin 1e84d22322 serial/amba-pl011: Refactor and simplify TX FIFO handling
Commit 734745c serial/amba-pl011: Activate TX IRQ passively
adds some complexity and overhead in the form of a softirq
mechanism for transmitting in the absence of interrupts.

This patch simplifies the code flow to reduce the reliance on
subtle behaviour and avoid fragility under future maintenance.

To this end, the TX softirq mechanism is removed and instead
pl011_start_tx() will now simply stuff the FIFO until full
(guaranteeing future TX IRQs), or until there are no more chars
to write (in which case we don't care whether an IRQ happens).

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Jakub Kicinski <kubakici@wp.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06 22:26:56 +02:00
..
8250 serial: 8250_pci: Add support for 16 port Exar boards 2015-04-28 20:22:31 +02:00
cpm_uart tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 2015-03-26 23:00:36 +01:00
jsm serial: jsm: some off by one bugs 2015-03-26 23:00:36 +01:00
21285.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
68328serial.c
Kconfig tty: cpm_uart: replace CONFIG_8xx by CONFIG_CPM1 2015-03-26 23:00:36 +01:00
Makefile tty: serial: Remove orphaned serial driver 2015-03-26 22:31:09 +01:00
altera_jtaguart.c serial: altera-juart: fix NULL device in log message 2015-01-09 14:28:17 -08:00
altera_uart.c serial: altera-uart: fix NULL device in log message 2015-01-09 14:28:17 -08:00
amba-pl010.c serial: Test/disable MSIs if switching from N_PPS 2014-11-06 14:57:27 -08:00
amba-pl011.c serial/amba-pl011: Refactor and simplify TX FIFO handling 2015-05-06 22:26:56 +02:00
apbuart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
apbuart.h
ar933x_uart.c serial: ar933x_uart: Fix off-by-one for checking valid alias id 2015-03-07 03:20:25 +01:00
arc_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
atmel_serial.c tty/serial: at91: maxburst was missing for dma transfers 2015-04-28 14:27:38 +02:00
bcm63xx_uart.c tty: serial/bcm63xx_uart: fix sparse warning 2015-03-07 03:13:07 +01:00
bfin_sport_uart.c tty: pr_warning->pr_warn and logging neatening 2014-11-25 17:06:38 -08:00
bfin_sport_uart.h
bfin_uart.c bfin uart: it will hang when read current y count if not disable dma irq 2015-03-26 16:10:10 +01:00
clps711x.c serial: clps711x: fail if mctrl_gpio_init fails 2015-03-07 03:15:03 +01:00
crisv10.c cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
crisv10.h cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
digicolor-usart.c tty/serial: digicolor: remove sysrq reference 2015-02-02 10:11:25 -08:00
dz.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
dz.h
earlycon-arm-semihost.c tty/serial: add arm/arm64 semihosting earlycon 2014-04-24 16:32:27 -07:00
earlycon.c serial: earlycon: Enable earlycon without command line param 2015-03-26 17:25:27 +01:00
efm32-uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
etraxfs-uart.c serial: driver for ETRAX FS UART 2015-02-07 18:43:16 +08:00
fsl_lpuart.c Merge 4.0-rc7 into tty-next 2015-04-07 11:07:20 +02:00
icom.c serial: icom: fix error return code 2014-11-25 17:06:39 -08:00
icom.h
ifx6x60.c
ifx6x60.h
imx.c serial: imx: Add braces to avoid ambiguous 'else' 2015-03-11 13:55:20 +01:00
ioc3_serial.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
ioc4_serial.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
ip22zilog.c serial: use container_of to resolve uart_ip22zilog_port from uart_port 2014-11-05 19:20:52 -08:00
ip22zilog.h
kgdb_nmi.c serial: kgdb_nmi: No CON_ENABLED by default 2014-09-08 16:26:07 -07:00
kgdboc.c
lantiq.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
lpc32xx_hs.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
m32r_sio.c serial: use container_of to resolve uart_sio_port from uart_port 2014-11-05 19:20:52 -08:00
m32r_sio.h
m32r_sio_reg.h
max310x.c drivers/max310: Use the rs485 functions on serial_core 2014-11-06 15:00:15 -08:00
max3100.c tty: max3100: use msecs_to_jiffies for time conversion 2015-03-07 03:13:08 +01:00
mcf.c serial: mcf: fix no driver name in probe output 2015-01-09 14:06:57 -08:00
men_z135_uart.c tty: serial: men_z135_uart: Fix driver for changes in hardware 2015-02-02 10:11:27 -08:00
meson_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
mpc52xx_uart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
mpsc.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
msm_serial.c tty: serial: msm_serial: Remove console unregistration from driver exit. 2015-02-02 10:11:25 -08:00
msm_serial.h tty: serial: msm_serial: Remove dead code 2015-03-26 22:31:09 +01:00
msm_smd_tty.c
mux.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
mxs-auart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
netx-serial.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
nwpserial.c serial: Fix build failure caused by missing header file 2014-09-08 16:17:45 -07:00
of_serial.c serial: of-serial: Remove device_type = "serial" registration 2015-04-28 14:27:38 +02:00
omap-serial.c tty/serial: omap: fix !wakeirq message 2015-03-26 22:38:36 +01:00
pch_uart.c pch_uart: don't hardcode PCI slot to get DMA device 2014-08-01 16:04:21 -07:00
pmac_zilog.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
pmac_zilog.h
pnx8xxx_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
rp2.c
sa1100.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
samsung.c serial: samsung: fix serial console break 2015-04-28 14:27:38 +02:00
samsung.h serial: samsung: add DMA support for RX 2015-01-09 14:25:39 -08:00
sb1250-duart.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
sc16is7xx.c sc16is7xx: expose RTS inversion in RS-485 mode 2015-04-10 14:43:48 +02:00
sccnxp.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
serial-tegra.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
serial_core.c serial: core: Fix kernel-doc build warnings 2015-04-28 14:26:21 +02:00
serial_ks8695.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
serial_mctrl_gpio.c serial: mctrl_gpio: Fix build warnings 2015-03-11 13:55:20 +01:00
serial_mctrl_gpio.h tty/serial: Add GPIOLIB helpers for controlling modem lines 2014-05-28 12:49:14 -07:00
serial_txx9.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
sh-sci.c serial: sh-sci: Update calculation of timeout for DMA 2015-03-26 22:42:27 +01:00
sh-sci.h
sirfsoc_uart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
sirfsoc_uart.h serial: sirf: rename marco to atlas7 2015-01-09 14:17:59 -08:00
sn_console.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
sprd_serial.c Merge 4.0-rc3 into tty-testing 2015-03-09 07:08:37 +01:00
st-asc.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
suncore.c
sunhv.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
sunsab.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunsab.h
sunsu.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.h
tilegx.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
timbuart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
timbuart.h
uartlite.c serial: xilinx: Use platform_get_irq to get irq description structure 2015-04-28 14:26:21 +02:00
ucc_uart.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
vr41xx_siu.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
vt8500_serial.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
xilinx_uartps.c serial: xilinx: Use platform_get_irq to get irq description structure 2015-04-28 14:26:21 +02:00
zs.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
zs.h