Lines Matching refs:tty
48 tty->name, (info->tport.flags), serial_driver->refcount,info->count,tty->count,s)
122 static void change_speed(struct tty_struct *tty, struct serial_state *info,
124 static void rs_wait_until_sent(struct tty_struct *tty, int timeout);
187 static void rs_stop(struct tty_struct *tty) in rs_stop() argument
189 struct serial_state *info = tty->driver_data; in rs_stop()
192 if (serial_paranoia_check(info, tty->name, "rs_stop")) in rs_stop()
207 static void rs_start(struct tty_struct *tty) in rs_start() argument
209 struct serial_state *info = tty->driver_data; in rs_start()
212 if (serial_paranoia_check(info, tty->name, "rs_start")) in rs_start()
316 do_SAK(info->tport.tty); in receive_chars()
350 || info->tport.tty->stopped in transmit_chars()
351 || info->tport.tty->hw_stopped) { in transmit_chars()
366 tty_wakeup(info->tport.tty); in transmit_chars()
413 if (port->tty) in check_modem_status()
414 tty_hangup(port->tty); in check_modem_status()
418 if (port->tty->hw_stopped) { in check_modem_status()
423 port->tty->hw_stopped = 0; in check_modem_status()
430 tty_wakeup(port->tty); in check_modem_status()
438 port->tty->hw_stopped = 1; in check_modem_status()
471 if (!info->tport.tty) in ser_rx_int()
490 if (!info->tport.tty) in ser_tx_int()
516 static int startup(struct tty_struct *tty, struct serial_state *info) in startup() argument
551 set_bit(TTY_IO_ERROR, &tty->flags); in startup()
566 if (C_BAUD(tty)) in startup()
570 clear_bit(TTY_IO_ERROR, &tty->flags); in startup()
577 tty->alt_speed = 57600; in startup()
579 tty->alt_speed = 115200; in startup()
581 tty->alt_speed = 230400; in startup()
583 tty->alt_speed = 460800; in startup()
588 change_speed(tty, info, NULL); in startup()
603 static void shutdown(struct tty_struct *tty, struct serial_state *info) in shutdown() argument
643 if (tty->termios.c_cflag & HUPCL) in shutdown()
647 set_bit(TTY_IO_ERROR, &tty->flags); in shutdown()
658 static void change_speed(struct tty_struct *tty, struct serial_state *info, in change_speed() argument
667 cflag = tty->termios.c_cflag; in change_speed()
688 baud = tty_get_baud_rate(tty); in change_speed()
704 tty->termios.c_cflag &= ~CBAUD; in change_speed()
705 tty->termios.c_cflag |= (old_termios->c_cflag & CBAUD); in change_speed()
706 baud = tty_get_baud_rate(tty); in change_speed()
751 if (I_INPCK(tty)) in change_speed()
753 if (I_BRKINT(tty) || I_PARMRK(tty)) in change_speed()
760 if (I_IGNPAR(tty)) in change_speed()
762 if (I_IGNBRK(tty)) { in change_speed()
768 if (I_IGNPAR(tty)) in change_speed()
796 static int rs_put_char(struct tty_struct *tty, unsigned char ch) in rs_put_char() argument
801 info = tty->driver_data; in rs_put_char()
803 if (serial_paranoia_check(info, tty->name, "rs_put_char")) in rs_put_char()
823 static void rs_flush_chars(struct tty_struct *tty) in rs_flush_chars() argument
825 struct serial_state *info = tty->driver_data; in rs_flush_chars()
828 if (serial_paranoia_check(info, tty->name, "rs_flush_chars")) in rs_flush_chars()
832 || tty->stopped in rs_flush_chars()
833 || tty->hw_stopped in rs_flush_chars()
847 static int rs_write(struct tty_struct * tty, const unsigned char *buf, int count) in rs_write() argument
850 struct serial_state *info = tty->driver_data; in rs_write()
853 if (serial_paranoia_check(info, tty->name, "rs_write")) in rs_write()
879 && !tty->stopped in rs_write()
880 && !tty->hw_stopped in rs_write()
894 static int rs_write_room(struct tty_struct *tty) in rs_write_room() argument
896 struct serial_state *info = tty->driver_data; in rs_write_room()
898 if (serial_paranoia_check(info, tty->name, "rs_write_room")) in rs_write_room()
903 static int rs_chars_in_buffer(struct tty_struct *tty) in rs_chars_in_buffer() argument
905 struct serial_state *info = tty->driver_data; in rs_chars_in_buffer()
907 if (serial_paranoia_check(info, tty->name, "rs_chars_in_buffer")) in rs_chars_in_buffer()
912 static void rs_flush_buffer(struct tty_struct *tty) in rs_flush_buffer() argument
914 struct serial_state *info = tty->driver_data; in rs_flush_buffer()
917 if (serial_paranoia_check(info, tty->name, "rs_flush_buffer")) in rs_flush_buffer()
922 tty_wakeup(tty); in rs_flush_buffer()
929 static void rs_send_xchar(struct tty_struct *tty, char ch) in rs_send_xchar() argument
931 struct serial_state *info = tty->driver_data; in rs_send_xchar()
934 if (serial_paranoia_check(info, tty->name, "rs_send_xchar")) in rs_send_xchar()
964 static void rs_throttle(struct tty_struct * tty) in rs_throttle() argument
966 struct serial_state *info = tty->driver_data; in rs_throttle()
971 printk("throttle %s: %d....\n", tty_name(tty, buf), in rs_throttle()
972 tty->ldisc.chars_in_buffer(tty)); in rs_throttle()
975 if (serial_paranoia_check(info, tty->name, "rs_throttle")) in rs_throttle()
978 if (I_IXOFF(tty)) in rs_throttle()
979 rs_send_xchar(tty, STOP_CHAR(tty)); in rs_throttle()
981 if (tty->termios.c_cflag & CRTSCTS) in rs_throttle()
989 static void rs_unthrottle(struct tty_struct * tty) in rs_unthrottle() argument
991 struct serial_state *info = tty->driver_data; in rs_unthrottle()
996 printk("unthrottle %s: %d....\n", tty_name(tty, buf), in rs_unthrottle()
997 tty->ldisc.chars_in_buffer(tty)); in rs_unthrottle()
1000 if (serial_paranoia_check(info, tty->name, "rs_unthrottle")) in rs_unthrottle()
1003 if (I_IXOFF(tty)) { in rs_unthrottle()
1007 rs_send_xchar(tty, START_CHAR(tty)); in rs_unthrottle()
1009 if (tty->termios.c_cflag & CRTSCTS) in rs_unthrottle()
1022 static int get_serial_info(struct tty_struct *tty, struct serial_state *state, in get_serial_info() argument
1030 tty_lock(tty); in get_serial_info()
1031 tmp.line = tty->index; in get_serial_info()
1039 tty_unlock(tty); in get_serial_info()
1045 static int set_serial_info(struct tty_struct *tty, struct serial_state *state, in set_serial_info() argument
1056 tty_lock(tty); in set_serial_info()
1061 tty_unlock(tty); in set_serial_info()
1071 tty_unlock(tty); in set_serial_info()
1081 tty_unlock(tty); in set_serial_info()
1102 tty->alt_speed = 57600; in set_serial_info()
1104 tty->alt_speed = 115200; in set_serial_info()
1106 tty->alt_speed = 230400; in set_serial_info()
1108 tty->alt_speed = 460800; in set_serial_info()
1109 change_speed(tty, state, NULL); in set_serial_info()
1112 retval = startup(tty, state); in set_serial_info()
1113 tty_unlock(tty); in set_serial_info()
1145 static int rs_tiocmget(struct tty_struct *tty) in rs_tiocmget() argument
1147 struct serial_state *info = tty->driver_data; in rs_tiocmget()
1151 if (serial_paranoia_check(info, tty->name, "rs_ioctl")) in rs_tiocmget()
1153 if (tty->flags & (1 << TTY_IO_ERROR)) in rs_tiocmget()
1167 static int rs_tiocmset(struct tty_struct *tty, unsigned int set, in rs_tiocmset() argument
1170 struct serial_state *info = tty->driver_data; in rs_tiocmset()
1173 if (serial_paranoia_check(info, tty->name, "rs_ioctl")) in rs_tiocmset()
1175 if (tty->flags & (1 << TTY_IO_ERROR)) in rs_tiocmset()
1195 static int rs_break(struct tty_struct *tty, int break_state) in rs_break() argument
1197 struct serial_state *info = tty->driver_data; in rs_break()
1200 if (serial_paranoia_check(info, tty->name, "rs_break")) in rs_break()
1219 static int rs_get_icount(struct tty_struct *tty, in rs_get_icount() argument
1222 struct serial_state *info = tty->driver_data; in rs_get_icount()
1244 static int rs_ioctl(struct tty_struct *tty, in rs_ioctl() argument
1247 struct serial_state *info = tty->driver_data; in rs_ioctl()
1254 if (serial_paranoia_check(info, tty->name, "rs_ioctl")) in rs_ioctl()
1260 if (tty->flags & (1 << TTY_IO_ERROR)) in rs_ioctl()
1266 return get_serial_info(tty, info, argp); in rs_ioctl()
1268 return set_serial_info(tty, info, argp); in rs_ioctl()
1333 static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios) in rs_set_termios() argument
1335 struct serial_state *info = tty->driver_data; in rs_set_termios()
1337 unsigned int cflag = tty->termios.c_cflag; in rs_set_termios()
1339 change_speed(tty, info, old_termios); in rs_set_termios()
1354 if (!(tty->termios.c_cflag & CRTSCTS) || in rs_set_termios()
1355 !test_bit(TTY_THROTTLED, &tty->flags)) { in rs_set_termios()
1365 !(tty->termios.c_cflag & CRTSCTS)) { in rs_set_termios()
1366 tty->hw_stopped = 0; in rs_set_termios()
1367 rs_start(tty); in rs_set_termios()
1378 (tty->termios.c_cflag & CLOCAL)) in rs_set_termios()
1393 static void rs_close(struct tty_struct *tty, struct file * filp) in rs_close() argument
1395 struct serial_state *state = tty->driver_data; in rs_close()
1398 if (serial_paranoia_check(state, tty->name, "rs_close")) in rs_close()
1401 if (tty_port_close_start(port, tty, filp) == 0) in rs_close()
1424 rs_wait_until_sent(tty, state->timeout); in rs_close()
1426 shutdown(tty, state); in rs_close()
1427 rs_flush_buffer(tty); in rs_close()
1429 tty_ldisc_flush(tty); in rs_close()
1430 port->tty = NULL; in rs_close()
1432 tty_port_close_end(port, tty); in rs_close()
1438 static void rs_wait_until_sent(struct tty_struct *tty, int timeout) in rs_wait_until_sent() argument
1440 struct serial_state *info = tty->driver_data; in rs_wait_until_sent()
1444 if (serial_paranoia_check(info, tty->name, "rs_wait_until_sent")) in rs_wait_until_sent()
1501 static void rs_hangup(struct tty_struct *tty) in rs_hangup() argument
1503 struct serial_state *info = tty->driver_data; in rs_hangup()
1505 if (serial_paranoia_check(info, tty->name, "rs_hangup")) in rs_hangup()
1508 rs_flush_buffer(tty); in rs_hangup()
1509 shutdown(tty, info); in rs_hangup()
1512 info->tport.tty = NULL; in rs_hangup()
1522 static int rs_open(struct tty_struct *tty, struct file * filp) in rs_open() argument
1524 struct serial_state *info = rs_table + tty->index; in rs_open()
1529 port->tty = tty; in rs_open()
1530 tty->driver_data = info; in rs_open()
1531 tty->port = port; in rs_open()
1532 if (serial_paranoia_check(info, tty->name, "rs_open")) in rs_open()
1537 retval = startup(tty, info); in rs_open()
1542 return tty_port_block_til_ready(port, tty, filp); in rs_open()