Lines Matching refs:cs

293 	struct zs_chanstate *cs;  in zsattach()  local
304 cs = &sc->sc_cs_store[channel]; in zsattach()
305 sc->sc_cs[channel] = cs; in zsattach()
307 cs->cs_unit = channel; in zsattach()
308 cs->cs_zc = zc = in zsattach()
393 struct zs_chanstate *cs; in zsopen() local
402 cs = sc->sc_cs[unit & 1]; in zsopen()
411 if (cs->cs_rbuf == NULL) { in zsopen()
412 cs->cs_rbuf = kmem_alloc(ZLRB_RING_SIZE * sizeof(int), in zsopen()
416 tp = cs->cs_ttyp; in zsopen()
418 cs->cs_ttyp = tp = tty_alloc(); in zsopen()
453 zs_modem(cs, ZSWR5_RTS|ZSWR5_DTR, DMSET); in zsopen()
455 if (((cs->cs_rr0 = cs->cs_zc->zc_csr) & ZSRR0_DCD) != 0) in zsopen()
457 if (cs->cs_softcar) in zsopen()
478 zs_shutdown(cs); in zsopen()
489 struct zs_chanstate *cs; in zsclose() local
495 cs = sc->sc_cs[unit & 1]; in zsclose()
496 tp = cs->cs_ttyp; in zsclose()
507 zs_shutdown(cs); in zsclose()
518 struct zs_chanstate *cs; in zsread() local
525 cs = sc->sc_cs[unit & 1]; in zsread()
526 tp = cs->cs_ttyp; in zsread()
534 struct zs_chanstate *cs; in zswrite() local
541 cs = sc->sc_cs[unit & 1]; in zswrite()
542 tp = cs->cs_ttyp; in zswrite()
550 struct zs_chanstate *cs; in zspoll() local
557 cs = sc->sc_cs[unit & 1]; in zspoll()
558 tp = cs->cs_ttyp; in zspoll()
566 struct zs_chanstate *cs; in zstty() local
572 cs = sc->sc_cs[unit & 1]; in zstty()
573 return cs->cs_ttyp; in zstty()
656 zsrint(struct zs_chanstate *cs, struct zschan *zc) in zsrint() argument
675 zsxint(struct zs_chanstate *cs, struct zschan *zc) in zsxint() argument
677 int i = cs->cs_tbc; in zsxint()
684 cs->cs_tbc = i - 1; in zsxint()
685 zc->zc_data = *cs->cs_tba++; in zsxint()
691 zssint(struct zs_chanstate *cs, struct zschan *zc) in zssint() argument
706 if (cs->cs_ttyp->t_cflag & CCTS_OFLOW && in zssint()
707 (cs->cs_creg[3] & ZSWR3_HFC) == 0) { in zssint()
708 cs->cs_creg[3] |= ZSWR3_HFC; in zssint()
709 ZS_WRITE(zc, 3, cs->cs_creg[3]); in zssint()
712 if (cs->cs_creg[3] & ZSWR3_HFC) { in zssint()
713 cs->cs_creg[3] &= ~ZSWR3_HFC; in zssint()
714 ZS_WRITE(zc, 3, cs->cs_creg[3]); in zssint()
742 struct zs_chanstate *cs; in zssoft() local
752 cs = sc->sc_cs[chan]; in zssoft()
753 get = cs->cs_rbget; in zssoft()
755 n = cs->cs_rbput; /* atomic */ in zssoft()
759 zc = cs->cs_zc; in zssoft()
760 tp = cs->cs_ttyp; in zssoft()
773 zsoverrun(chan, &cs->cs_rotime, "ring"); in zssoft()
779 c = cs->cs_rbuf[get++ & ZLRB_RING_MASK]; in zssoft()
785 zsoverrun(chan, &cs->cs_fotime, "fifo"); in zssoft()
799 if (cs->cs_heldchange) { in zssoft()
805 cs->cs_preg[3] &= ~ZSWR3_HFC; in zssoft()
806 memcpy((void *)cs->cs_creg, in zssoft()
807 (void *)cs->cs_preg, 16); in zssoft()
808 zs_loadchannelregs(zc, cs->cs_creg); in zssoft()
810 cs->cs_heldchange = 0; in zssoft()
811 if (cs->cs_heldtbc && in zssoft()
813 cs->cs_tbc = cs->cs_heldtbc - 1; in zssoft()
814 zc->zc_data = *cs->cs_tba++; in zssoft()
823 cs->cs_tba - tp->t_outq.c_cf); in zssoft()
834 if (((c ^ cs->cs_rr0) & ZSRR0_DCD) != 0) { in zssoft()
837 zs_modem(cs, in zssoft()
841 cs->cs_rr0 = c; in zssoft()
850 cs->cs_rbget = get; in zssoft()
862 struct zs_chanstate *cs = sc->sc_cs[unit & 1]; in zsioctl() local
863 struct tty *tp = cs->cs_ttyp; in zsioctl()
877 cs->cs_preg[5] |= ZSWR5_BREAK; in zsioctl()
878 cs->cs_creg[5] |= ZSWR5_BREAK; in zsioctl()
879 ZS_WRITE(cs->cs_zc, 5, cs->cs_creg[5]); in zsioctl()
884 cs->cs_preg[5] &= ~ZSWR5_BREAK; in zsioctl()
885 cs->cs_creg[5] &= ~ZSWR5_BREAK; in zsioctl()
886 ZS_WRITE(cs->cs_zc, 5, cs->cs_creg[5]); in zsioctl()
892 if (cs->cs_softcar) in zsioctl()
894 if ((cs->cs_creg[15] & ZSWR15_DCD_IE) != 0) in zsioctl()
896 if ((cs->cs_creg[3] & ZSWR3_HFC) != 0) in zsioctl()
924 cs->cs_softcar = 1; /* turn on softcar */ in zsioctl()
925 cs->cs_preg[15] &= ~ZSWR15_DCD_IE; /* turn off dcd */ in zsioctl()
926 cs->cs_creg[15] &= ~ZSWR15_DCD_IE; in zsioctl()
927 ZS_WRITE(cs->cs_zc, 15, cs->cs_creg[15]); in zsioctl()
929 cs->cs_softcar = 0; /* turn off softcar */ in zsioctl()
930 cs->cs_preg[15] |= ZSWR15_DCD_IE; /* turn on dcd */ in zsioctl()
931 cs->cs_creg[15] |= ZSWR15_DCD_IE; in zsioctl()
932 ZS_WRITE(cs->cs_zc, 15, cs->cs_creg[15]); in zsioctl()
936 cs->cs_preg[15] |= ZSWR15_CTS_IE; in zsioctl()
937 cs->cs_creg[15] |= ZSWR15_CTS_IE; in zsioctl()
938 ZS_WRITE(cs->cs_zc, 15, cs->cs_creg[15]); in zsioctl()
939 cs->cs_preg[3] |= ZSWR3_HFC; in zsioctl()
940 cs->cs_creg[3] |= ZSWR3_HFC; in zsioctl()
941 ZS_WRITE(cs->cs_zc, 3, cs->cs_creg[3]); in zsioctl()
945 cs->cs_preg[15] &= ~ZSWR15_CTS_IE; in zsioctl()
946 cs->cs_creg[15] &= ~ZSWR15_CTS_IE; in zsioctl()
947 ZS_WRITE(cs->cs_zc, 15, cs->cs_creg[15]); in zsioctl()
948 cs->cs_preg[3] &= ~ZSWR3_HFC; in zsioctl()
949 cs->cs_creg[3] &= ~ZSWR3_HFC; in zsioctl()
950 ZS_WRITE(cs->cs_zc, 3, cs->cs_creg[3]); in zsioctl()
957 zs_modem(cs, ZSWR5_DTR, DMBIS); in zsioctl()
960 zs_modem(cs, ZSWR5_DTR, DMBIC); in zsioctl()
963 zs_modem(cs, 0, DMGET); in zsioctl()
980 struct zs_chanstate *cs; in zsstart() local
985 cs = sc->sc_cs[unit & 1]; in zsstart()
1007 cs->cs_preg[1] |= ZSWR1_TIE; in zsstart()
1008 cs->cs_creg[1] |= ZSWR1_TIE; in zsstart()
1009 ZS_WRITE(cs->cs_zc, 1, cs->cs_creg[1]); in zsstart()
1010 cs->cs_zc->zc_data = *p; in zsstart()
1011 cs->cs_tba = p + 1; in zsstart()
1012 cs->cs_tbc = nch - 1; in zsstart()
1019 cs->cs_preg[1] &= ~ZSWR1_TIE; in zsstart()
1020 cs->cs_creg[1] &= ~ZSWR1_TIE; in zsstart()
1021 ZS_WRITE(cs->cs_zc, 1, cs->cs_creg[1]); in zsstart()
1033 struct zs_chanstate *cs; in zsstop() local
1037 cs = sc->sc_cs[unit & 1]; in zsstop()
1043 cs->cs_tbc = 0; in zsstop()
1051 zs_shutdown(struct zs_chanstate *cs) in zs_shutdown() argument
1053 struct tty *tp = cs->cs_ttyp; in zs_shutdown()
1063 zs_modem(cs, 0, DMSET); in zs_shutdown()
1064 (void)tsleep((void *)cs, TTIPRI, ttclos, hz); in zs_shutdown()
1068 if ((cs->cs_creg[5] & ZSWR5_BREAK) != 0) { in zs_shutdown()
1069 cs->cs_preg[5] &= ~ZSWR5_BREAK; in zs_shutdown()
1070 cs->cs_creg[5] &= ~ZSWR5_BREAK; in zs_shutdown()
1071 ZS_WRITE(cs->cs_zc, 5, cs->cs_creg[5]); in zs_shutdown()
1077 zs_loadchannelregs(cs->cs_zc, zs_init_regs); in zs_shutdown()
1092 struct zs_chanstate *cs = sc->sc_cs[unit & 1]; in zsparam() local
1105 zs_modem(cs, 0, DMSET); in zsparam()
1150 cs->cs_preg[4] = cdiv; in zsparam()
1151 cs->cs_preg[11] = clkm; in zsparam()
1152 cs->cs_preg[12] = tcon; in zsparam()
1153 cs->cs_preg[13] = tcon >> 8; in zsparam()
1154 cs->cs_preg[14] = brgm; in zsparam()
1155 cs->cs_preg[1] = ZSWR1_RIE | ZSWR1_TIE | ZSWR1_SIE; in zsparam()
1156 cs->cs_preg[9] = ZSWR9_MASTER_IE | ZSWR9_VECTOR_INCL_STAT; in zsparam()
1157 cs->cs_preg[10] = ZSWR10_NRZ; in zsparam()
1158 cs->cs_preg[15] = ZSWR15_BREAK_IE | ZSWR15_DCD_IE; in zsparam()
1166 (cs->cs_zc->zc_csr & ZSRR0_DCD) != 0) in zsparam()
1168 cs->cs_preg[3] = tmp; in zsparam()
1169 cs->cs_preg[5] = tmp5; in zsparam()
1175 if (cs->cs_heldchange == 0) { in zsparam()
1176 if ((cs->cs_ttyp->t_state & TS_BUSY) != 0) { in zsparam()
1177 cs->cs_heldtbc = cs->cs_tbc; in zsparam()
1178 cs->cs_tbc = 0; in zsparam()
1179 cs->cs_heldchange = 1; in zsparam()
1181 memcpy((void *)cs->cs_creg, (void *)cs->cs_preg, 16); in zsparam()
1182 zs_loadchannelregs(cs->cs_zc, cs->cs_creg); in zsparam()
1273 zs_modem(struct zs_chanstate *cs, int bits, int how) in zs_modem() argument
1280 mbits = cs->cs_preg[5] & (ZSWR5_DTR | ZSWR5_RTS); in zs_modem()
1297 cs->cs_preg[5] = (cs->cs_preg[5] & ~(ZSWR5_DTR | ZSWR5_RTS)) | mbits; in zs_modem()
1298 if (cs->cs_heldchange == 0) { in zs_modem()
1299 if ((cs->cs_ttyp->t_state & TS_BUSY) != 0) { in zs_modem()
1300 cs->cs_heldtbc = cs->cs_tbc; in zs_modem()
1301 cs->cs_tbc = 0; in zs_modem()
1302 cs->cs_heldchange = 1; in zs_modem()
1304 ZS_WRITE(cs->cs_zc, 5, cs->cs_creg[5]); in zs_modem()