serial/amba-pl011: Refactor and simplify TX FIFO handling
authorDave Martin <Dave.Martin@arm.com>
Mon, 27 Apr 2015 15:49:05 +0000 (16:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 May 2015 20:26:56 +0000 (22:26 +0200)
commit1e84d22322ceed4767db1e5342c830dd60c8210f
tree7b87c5e5eea89a15293a7b7baf5ed38ec9287fd0
parentf28c1d0a78a8c6a217ac5362cb719efa169ae2a7
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>
drivers/tty/serial/amba-pl011.c