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: ab28f51c77cd ("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>
This commit is contained in:
parent
2c94512055
commit
5208e7ced5
@ -125,6 +125,7 @@ static int serial_pxa_probe(struct platform_device *pdev)
|
||||
uart.port.iotype = UPIO_MEM32;
|
||||
uart.port.regshift = 2;
|
||||
uart.port.fifosize = 64;
|
||||
uart.tx_loadsz = 32;
|
||||
uart.dl_write = serial_pxa_dl_write;
|
||||
|
||||
ret = serial8250_register_8250_port(&uart);
|
||||
|
Loading…
x
Reference in New Issue
Block a user