mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-25 06:26:15 +00:00
0171157d45
The patches were generated from the RPi repo with the following command: git format-patch v6.6.44..rpi-6.6.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
From f3cb675102a2a5a330038c4e748f02b02cec989e Mon Sep 17 00:00:00 2001
|
|
From: Jonathan Bell <jonathan@raspberrypi.com>
|
|
Date: Mon, 22 Jul 2024 09:30:54 +0100
|
|
Subject: [PATCH 1195/1215] tty/serial: pl011: restrict RX burst FIFO threshold
|
|
|
|
If the associated DMA controller has lower burst length support than the
|
|
level the FIFO is set to, then bytes will be left in the RX FIFO at the
|
|
end of a DMA block - requiring a round-trip through the timeout interrupt
|
|
handler rather than an end-of-block DMA interrupt.
|
|
|
|
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|
---
|
|
drivers/tty/serial/amba-pl011.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
--- a/drivers/tty/serial/amba-pl011.c
|
|
+++ b/drivers/tty/serial/amba-pl011.c
|
|
@@ -487,6 +487,12 @@ static void pl011_dma_probe(struct uart_
|
|
"RX DMA disabled - no residue processing\n");
|
|
return;
|
|
}
|
|
+ /*
|
|
+ * DMA controllers with smaller burst capabilities than 1/4
|
|
+ * the FIFO depth will leave more bytes than expected in the
|
|
+ * RX FIFO if mismatched.
|
|
+ */
|
|
+ rx_conf.src_maxburst = min(caps.max_burst, rx_conf.src_maxburst);
|
|
}
|
|
dmaengine_slave_config(chan, &rx_conf);
|
|
uap->dmarx.chan = chan;
|