mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-14 02:44:45 +00:00
ath79: drop upstreamed patch
This patch was backported to the 5.4 kernel tree as commit c2d5c4df27e0 at least since release v5.4.28. Since then, it enables RX an TX ready override twice. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
parent
9b1b89229f
commit
9dc15e36c8
@ -1,64 +0,0 @@
|
||||
From patchwork Fri Feb 7 09:53:35 2020
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
|
||||
X-Patchwork-Id: 1190470
|
||||
Date: Fri, 7 Feb 2020 11:53:35 +0200
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
To: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org
|
||||
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
|
||||
Jiri Slaby <jslaby@suse.com>,
|
||||
Chuanhong Guo <gch981213@gmail.com>,
|
||||
Eitan Cohen <eitan@neot-semadar.com>,
|
||||
Ori Gofen <origofen@gmail.com>
|
||||
Subject: [PATCH] serial: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE
|
||||
Message-ID: <20200207095335.GA179836@makrotopia.org>
|
||||
MIME-Version: 1.0
|
||||
Content-Disposition: inline
|
||||
Sender: linux-kernel-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <linux-kernel.vger.kernel.org>
|
||||
X-Mailing-List: linux-kernel@vger.kernel.org
|
||||
|
||||
On AR934x this UART is usually not initialized by the bootloader
|
||||
as it is only used as a secondary serial port while the primary
|
||||
UART is a newly introduced NS16550-compatible.
|
||||
In order to make use of the ar933x-uart on AR934x without RTS/CTS
|
||||
hardware flow control, one needs to set the
|
||||
UART_CS_{RX,TX}_READY_ORIDE bits as other than on AR933x where this
|
||||
UART is used as primary/console, the bootloader on AR934x typically
|
||||
doesn't set those bits.
|
||||
Setting them explicitely on AR933x should not do any harm, so just
|
||||
set them unconditionally.
|
||||
|
||||
Tested-by: Chuanhong Guo <gch981213@gmail.com>
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
drivers/tty/serial/ar933x_uart.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
--- a/drivers/tty/serial/ar933x_uart.c
|
||||
+++ b/drivers/tty/serial/ar933x_uart.c
|
||||
@@ -290,6 +290,10 @@ static void ar933x_uart_set_termios(stru
|
||||
ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
|
||||
+ /* enable RX and TX ready overide */
|
||||
+ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
+ AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
+
|
||||
/* reenable the UART */
|
||||
ar933x_uart_rmw(up, AR933X_UART_CS_REG,
|
||||
AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S,
|
||||
@@ -424,6 +428,10 @@ static int ar933x_uart_startup(struct ua
|
||||
|
||||
/* enable RX and TX ready overide */
|
||||
ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
+ AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
+
|
||||
+ /* enable RX and TX ready overide */
|
||||
+ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
|
||||
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
|
||||
/* Enable RX interrupts */
|
@ -160,7 +160,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
}
|
||||
|
||||
static void ar933x_uart_break_ctl(struct uart_port *port, int break_state)
|
||||
@@ -340,11 +397,20 @@ static void ar933x_uart_rx_chars(struct
|
||||
@@ -336,11 +393,20 @@ static void ar933x_uart_rx_chars(struct
|
||||
static void ar933x_uart_tx_chars(struct ar933x_uart_port *up)
|
||||
{
|
||||
struct circ_buf *xmit = &up->port.state->xmit;
|
||||
@ -181,7 +181,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
count = up->port.fifosize;
|
||||
do {
|
||||
unsigned int rdata;
|
||||
@@ -372,8 +438,14 @@ static void ar933x_uart_tx_chars(struct
|
||||
@@ -368,8 +434,14 @@ static void ar933x_uart_tx_chars(struct
|
||||
if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
|
||||
uart_write_wakeup(&up->port);
|
||||
|
||||
@ -197,7 +197,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
}
|
||||
|
||||
static irqreturn_t ar933x_uart_interrupt(int irq, void *dev_id)
|
||||
@@ -435,8 +507,7 @@ static int ar933x_uart_startup(struct ua
|
||||
@@ -427,8 +499,7 @@ static int ar933x_uart_startup(struct ua
|
||||
AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
|
||||
|
||||
/* Enable RX interrupts */
|
||||
@ -207,7 +207,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
|
||||
spin_unlock_irqrestore(&up->port.lock, flags);
|
||||
|
||||
@@ -519,6 +590,21 @@ static const struct uart_ops ar933x_uart
|
||||
@@ -511,6 +582,21 @@ static const struct uart_ops ar933x_uart
|
||||
.verify_port = ar933x_uart_verify_port,
|
||||
};
|
||||
|
||||
@ -229,7 +229,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
#ifdef CONFIG_SERIAL_AR933X_CONSOLE
|
||||
static struct ar933x_uart_port *
|
||||
ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS];
|
||||
@@ -688,6 +774,8 @@ static int ar933x_uart_probe(struct plat
|
||||
@@ -680,6 +766,8 @@ static int ar933x_uart_probe(struct plat
|
||||
goto err_disable_clk;
|
||||
}
|
||||
|
||||
@ -238,7 +238,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
port->mapbase = mem_res->start;
|
||||
port->line = id;
|
||||
port->irq = irq_res->start;
|
||||
@@ -698,6 +786,7 @@ static int ar933x_uart_probe(struct plat
|
||||
@@ -690,6 +778,7 @@ static int ar933x_uart_probe(struct plat
|
||||
port->regshift = 2;
|
||||
port->fifosize = AR933X_UART_FIFO_SIZE;
|
||||
port->ops = &ar933x_uart_ops;
|
||||
@ -246,7 +246,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
|
||||
|
||||
baud = ar933x_uart_get_baud(port->uartclk, AR933X_UART_MAX_SCALE, 1);
|
||||
up->min_baud = max_t(unsigned int, baud, AR933X_UART_MIN_BAUD);
|
||||
@@ -705,6 +794,18 @@ static int ar933x_uart_probe(struct plat
|
||||
@@ -697,6 +786,18 @@ static int ar933x_uart_probe(struct plat
|
||||
baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP);
|
||||
up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user