提交 73c3d53f 编写于 作者: P Paul Mundt

serial: sh-sci: Avoid FIFO clear for MCE toggle.

When toggling the MCE support we don't want to concern ourselves with the
FIFO state, so ensure that the clearing bits are masked out when updating
the MCE state.
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 faf02f8f
......@@ -1771,18 +1771,25 @@ static void sci_set_termios(struct uart_port *port, struct ktermios *termios,
sci_init_pins(port, termios->c_cflag);
if (s->cfg->capabilities & SCIx_HAVE_RTSCTS) {
reg = sci_getreg(port, SCFCR);
if (reg->size) {
unsigned short ctrl;
reg = sci_getreg(port, SCFCR);
if (reg->size) {
unsigned short ctrl = sci_in(port, SCFCR);
ctrl = sci_in(port, SCFCR);
if (s->cfg->capabilities & SCIx_HAVE_RTSCTS) {
if (termios->c_cflag & CRTSCTS)
ctrl |= SCFCR_MCE;
else
ctrl &= ~SCFCR_MCE;
sci_out(port, SCFCR, ctrl);
}
/*
* As we've done a sci_reset() above, ensure we don't
* interfere with the FIFOs while toggling MCE. As the
* reset values could still be set, simply mask them out.
*/
ctrl &= ~(SCFCR_RFRST | SCFCR_TFRST);
sci_out(port, SCFCR, ctrl);
}
sci_out(port, SCSCR, s->cfg->scscr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册