Commit 64432a85 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Greg Kroah-Hartman

serial: imx: drop useless member from driver data

The wait queue was only initialized and then checked if it contains
active jobs but a job is never added. The last real user was removed
with commit 9d297239 ("serial: imx-serial - update UART IMX driver
to use cyclic DMA").

Further there is no need to release the lock for the check if the port
should be woken up, (and IMHO there never was) so drop the unlock/lock
pair in dma_tx_callback(), too.
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f67276a0
...@@ -226,7 +226,6 @@ struct imx_port { ...@@ -226,7 +226,6 @@ struct imx_port {
dma_cookie_t rx_cookie; dma_cookie_t rx_cookie;
unsigned int tx_bytes; unsigned int tx_bytes;
unsigned int dma_tx_nents; unsigned int dma_tx_nents;
wait_queue_head_t dma_wait;
unsigned int saved_reg[10]; unsigned int saved_reg[10];
bool context_saved; bool context_saved;
}; };
...@@ -498,20 +497,12 @@ static void dma_tx_callback(void *data) ...@@ -498,20 +497,12 @@ static void dma_tx_callback(void *data)
sport->dma_is_txing = 0; sport->dma_is_txing = 0;
spin_unlock_irqrestore(&sport->port.lock, flags);
if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
uart_write_wakeup(&sport->port); uart_write_wakeup(&sport->port);
if (waitqueue_active(&sport->dma_wait)) {
wake_up(&sport->dma_wait);
dev_dbg(sport->port.dev, "exit in %s.\n", __func__);
return;
}
spin_lock_irqsave(&sport->port.lock, flags);
if (!uart_circ_empty(xmit) && !uart_tx_stopped(&sport->port)) if (!uart_circ_empty(xmit) && !uart_tx_stopped(&sport->port))
imx_dma_tx(sport); imx_dma_tx(sport);
spin_unlock_irqrestore(&sport->port.lock, flags); spin_unlock_irqrestore(&sport->port.lock, flags);
} }
...@@ -1208,8 +1199,6 @@ static void imx_enable_dma(struct imx_port *sport) ...@@ -1208,8 +1199,6 @@ static void imx_enable_dma(struct imx_port *sport)
{ {
unsigned long temp; unsigned long temp;
init_waitqueue_head(&sport->dma_wait);
/* set UCR1 */ /* set UCR1 */
temp = readl(sport->port.membase + UCR1); temp = readl(sport->port.membase + UCR1);
temp |= UCR1_RDMAEN | UCR1_TDMAEN | UCR1_ATDMAEN; temp |= UCR1_RDMAEN | UCR1_TDMAEN | UCR1_ATDMAEN;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment