static void scc_unthrottle (struct tty_struct * tty) { struct scc_port *port = tty->driver_data; unsigned long flags; SCC_ACCESS_INIT(port); if (tty->termios->c_cflag & CRTSCTS) { local_irq_save(flags); SCCmod(TX_CTRL_REG, 0xff, TCR_RTS); local_irq_restore(flags); } if (I_IXOFF(tty)) scc_send_xchar(tty, START_CHAR(tty)); }
static void scc_throttle (struct tty_struct * tty) { struct scc_port *port = (struct scc_port *)tty->driver_data; unsigned long flags; SCC_ACCESS_INIT(port); if (tty->termios->c_cflag & CRTSCTS) { save_flags(flags); cli(); SCCmod(TX_CTRL_REG, ~TCR_RTS, 0); restore_flags(flags); } if (I_IXOFF(tty)) scc_send_xchar(tty, STOP_CHAR(tty)); }