Lines Matching refs:zst

176 static void	zs_modem(struct zstty_softc *zst, int onoff);
213 struct zstty_softc *zst = (void *) self; local
221 cf = zst->zst_dev.dv_cfdata;
222 tty_unit = zst->zst_dev.dv_unit;
225 cs->cs_private = zst;
228 zst->zst_cs = cs;
229 zst->zst_swflags = cf->cf_flags; /* softcar, etc. */
230 zst->zst_hwflags = args->hwflags;
233 if (zst->zst_swflags)
234 printf(" flags 0x%x", zst->zst_swflags);
236 if (zst->zst_hwflags & ZS_HWFLAG_CONSOLE)
263 zst->zst_tty = tp;
264 zst->zst_rbhiwat = zstty_rbuf_size; /* impossible value */
265 zst->zst_ringmask = zstty_rbuf_size - 1;
266 zst->zst_rbuf = malloc(zstty_rbuf_size * sizeof(zst->zst_rbuf[0]),
272 if (zst->zst_hwflags & ZS_HWFLAG_CONSOLE) {
274 zst->zst_swflags |= TIOCFLAG_SOFTCAR;
297 zs_modem(zst, (zst->zst_swflags & TIOCFLAG_SOFTCAR) ? 1 : 0);
308 struct zstty_softc *zst; local
315 zst = zstty_cd.cd_devs[unit];
316 return (zst->zst_tty);
332 struct zstty_softc *zst; local
338 zst = zstty_cd.cd_devs[unit];
339 if (zst == NULL)
341 tp = zst->zst_tty;
342 cs = zst->zst_cs;
364 if (zst->zst_swflags & TIOCFLAG_CLOCAL)
366 if (zst->zst_swflags & TIOCFLAG_CRTSCTS)
368 if (zst->zst_swflags & TIOCFLAG_MDMBUF)
375 zst->zst_rbget = zst->zst_rbput;
378 zs_modem(zst, 1);
379 if (zst->zst_swflags & TIOCFLAG_SOFTCAR) {
408 zs_modem(zst, 0);
434 struct zstty_softc *zst; local
439 zst = zstty_cd.cd_devs[minor(dev)];
440 cs = zst->zst_cs;
441 tp = zst->zst_tty;
449 if (zst->zst_swflags & TIOCFLAG_SOFTCAR)
452 zs_modem(zst, 0);
474 register struct zstty_softc *zst; local
477 zst = zstty_cd.cd_devs[minor(dev)];
478 tp = zst->zst_tty;
488 register struct zstty_softc *zst; local
491 zst = zstty_cd.cd_devs[minor(dev)];
492 tp = zst->zst_tty;
507 register struct zstty_softc *zst; local
512 zst = zstty_cd.cd_devs[minor(dev)];
513 cs = zst->zst_cs;
514 tp = zst->zst_tty;
534 *(int *)data = zst->zst_swflags;
546 if (zst->zst_hwflags & ZS_HWFLAG_CONSOLE)
549 zst->zst_swflags = tmp;
553 zs_modem(zst, 1);
557 zs_modem(zst, 0);
577 register struct zstty_softc *zst; local
581 zst = zstty_cd.cd_devs[minor(tp->t_dev)];
582 cs = zst->zst_cs;
596 if (zst->zst_tx_stopped)
619 zst->zst_tx_busy = 1;
624 zst->zst_tba = p + 1;
625 zst->zst_tbc = nch - 1;
647 register struct zstty_softc *zst; local
651 zst = zstty_cd.cd_devs[minor(tp->t_dev)];
652 cs = zst->zst_cs;
661 zst->zst_tbc = 0;
662 zst->zst_heldtbc = 0;
681 register struct zstty_softc *zst; local
686 zst = zstty_cd.cd_devs[minor(tp->t_dev)];
687 cs = zst->zst_cs;
695 zs_modem(zst, 0);
763 zst->zst_rbhiwat = zstty_rbuf_hiwat;
766 zst->zst_rbhiwat = zstty_rbuf_size; /* impossible value */
775 if (zst->zst_tx_busy) {
776 zst->zst_heldtbc = zst->zst_tbc;
777 zst->zst_tbc = 0;
792 zs_modem(zst, onoff) in zs_modem() argument
793 struct zstty_softc *zst; in zs_modem()
800 cs = zst->zst_cs;
801 tp = zst->zst_tty;
813 if (zst->zst_tx_busy) {
814 zst->zst_heldtbc = zst->zst_tbc;
815 zst->zst_tbc = 0;
836 register struct zstty_softc *zst; local
839 zst = zstty_cd.cd_devs[minor(tp->t_dev)];
847 if (zst->zst_rx_blocked)
849 zst->zst_rx_blocked = 1;
855 zst->zst_rx_blocked = 0;
857 zs_hwiflow(zst, stop);
868 zs_hwiflow(zst, stop) in zs_hwiflow() argument
869 register struct zstty_softc *zst; in zs_hwiflow()
876 cs = zst->zst_cs;
877 tp = zst->zst_tty;
891 if (zst->zst_tx_busy) {
892 zst->zst_heldtbc = zst->zst_tbc;
893 zst->zst_tbc = 0;
916 register struct zstty_softc *zst; local
921 zst = cs->cs_private;
922 put = zst->zst_rbput;
923 ringmask = zst->zst_ringmask;
942 zst->zst_rbuf[put] = ch_rr1;
946 if (put_next == zst->zst_rbget) {
947 zst->zst_rx_overrun = 1;
959 zst->zst_rbput = put;
964 cc = put - zst->zst_rbget;
967 if ((cc > zst->zst_rbhiwat) && (zst->zst_rx_blocked == 0)) {
968 zst->zst_rx_blocked = 1;
969 zs_hwiflow(zst, 1);
983 register struct zstty_softc *zst; local
986 zst = cs->cs_private;
1004 count = zst->zst_heldtbc;
1006 count = zst->zst_tbc;
1014 zst->zst_tbc = --count;
1015 zs_write_data(cs, *zst->zst_tba);
1016 zst->zst_tba++;
1023 zst->zst_tx_busy = 0;
1024 zst->zst_tx_done = 1;
1035 register struct zstty_softc *zst; local
1039 zst = cs->cs_private;
1040 tp = zst->zst_tty;
1050 (zst->zst_hwflags & ZS_HWFLAG_CONSOLE))
1064 zst->zst_tbc = 0;
1065 zst->zst_heldtbc = 0;
1066 zst->zst_tx_stopped = 1;
1078 zst->zst_st_check = 1;
1088 zsoverrun(zst, ptime, what) in zsoverrun() argument
1089 struct zstty_softc *zst; in zsoverrun()
1097 zst->zst_dev.dv_xname, what);
1117 register struct zstty_softc *zst; local
1125 zst = cs->cs_private;
1126 tp = zst->zst_tty;
1128 ringmask = zst->zst_ringmask;
1136 if (zst->zst_rx_overrun) {
1137 zst->zst_rx_overrun = 0;
1138 zsoverrun(zst, &zst->zst_rotime, "ring");
1144 get = zst->zst_rbget;
1145 while (get != zst->zst_rbput) {
1146 ring_data = zst->zst_rbuf[get];
1160 zst->zst_rbget = get;
1168 zsoverrun(zst, &zst->zst_fotime, "fifo");
1177 if (zst->zst_rx_blocked && ((tp->t_state & TS_TBLOCK) == 0)) {
1179 zst->zst_rx_blocked = 0;
1180 zs_hwiflow(zst, 0); /* unblock input */
1189 if (zst->zst_st_check) {
1190 zst->zst_st_check = 0;
1198 zs_modem(zst, c);
1206 zst->zst_tx_stopped = 0;
1213 if (zst->zst_tx_done) {
1214 zst->zst_tx_done = 0;
1219 ndflush(&tp->t_outq, zst->zst_tba -