Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 5208e7c

Browse files
dougg3gregkh
authored andcommitted
serial: 8250_pxa: Configure tx_loadsz to match FIFO IRQ level
The FIFO is 64 bytes, but the FCR is configured to fire the TX interrupt when the FIFO is half empty (bit 3 = 0). Thus, we should only write 32 bytes when a TX interrupt occurs. This fixes a problem observed on the PXA168 that dropped a bunch of TX bytes during large transmissions. Fixes: ab28f51 ("serial: rewrite pxa2xx-uart to use 8250_core") Signed-off-by: Doug Brown <doug@schmorgal.com> Link: https://lore.kernel.org/r/20240519191929.122202-1-doug@schmorgal.com Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 2c94512 commit 5208e7c

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/tty/serial/8250/8250_pxa.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ static int serial_pxa_probe(struct platform_device *pdev)
125125
uart.port.iotype = UPIO_MEM32;
126126
uart.port.regshift = 2;
127127
uart.port.fifosize = 64;
128+
uart.tx_loadsz = 32;
128129
uart.dl_write = serial_pxa_dl_write;
129130

130131
ret = serial8250_register_8250_port(&uart);

0 commit comments

Comments
 (0)