Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ae82e5d authored by Jakub Kicinski's avatar Jakub Kicinski Committed by Greg Kroah-Hartman
Browse files

sc16is7xx: use LSR_TEMT_BIT in .tx_empty()



LSR_TEMT_BIT (LSR bit 6) provides us exactly the information
we need to determine if transmission is finished - FIFO level
and shift register empty.  We can save ourselves reading FIFO
level explicitly if we use this bit.

Signed-off-by: default avatarJakub Kicinski <kubakici@wp.pl>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4117a60c
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -683,12 +683,11 @@ static void sc16is7xx_start_tx(struct uart_port *port)

static unsigned int sc16is7xx_tx_empty(struct uart_port *port)
{
	unsigned int lvl, lsr;
	unsigned int lsr;

	lvl = sc16is7xx_port_read(port, SC16IS7XX_TXLVL_REG);
	lsr = sc16is7xx_port_read(port, SC16IS7XX_LSR_REG);

	return ((lsr & SC16IS7XX_LSR_THRE_BIT) && !lvl) ? TIOCSER_TEMT : 0;
	return (lsr & SC16IS7XX_LSR_TEMT_BIT) ? TIOCSER_TEMT : 0;
}

static unsigned int sc16is7xx_get_mctrl(struct uart_port *port)