Lines Matching refs:cs

112 zs_break(struct zs_chanstate *cs, int set)
116 cs->cs_preg[5] |= ZSWR5_BREAK;
117 cs->cs_creg[5] |= ZSWR5_BREAK;
119 cs->cs_preg[5] &= ~ZSWR5_BREAK;
120 cs->cs_creg[5] &= ~ZSWR5_BREAK;
122 zs_write_reg(cs, 5, cs->cs_creg[5]);
130 zs_iflush(struct zs_chanstate *cs)
141 rr0 = zs_read_csr(cs);
149 rr1 = zs_read_reg(cs, 1);
150 c = zs_read_data(cs);
154 zs_write_csr(cs, ZSWR0_RESET_ERRORS);
167 zs_loadchannelregs(struct zs_chanstate *cs)
171 zs_write_csr(cs, ZSM_RESET_ERR); /* XXX: reset error condition */
178 zs_iflush(cs); /* XXX */
181 if (cs->cs_ctl_chan != NULL)
182 v = ((cs->cs_ctl_chan->cs_creg[5] & (ZSWR5_RTS | ZSWR5_DTR)) !=
183 (cs->cs_ctl_chan->cs_preg[5] & (ZSWR5_RTS | ZSWR5_DTR)));
187 if (memcmp((void *)cs->cs_preg, (void *)cs->cs_creg, 16) == 0 && !v)
191 memcpy((void *)cs->cs_creg, (void *)cs->cs_preg, 16);
192 reg = cs->cs_creg; /* current regs */
195 zs_write_reg(cs, 1, reg[1] & ~ZSWR1_IMASK);
198 zs_write_reg(cs, 4, reg[4]);
201 zs_write_reg(cs, 10, reg[10]);
204 zs_write_reg(cs, 3, reg[3] & ~ZSWR3_RX_ENABLE);
205 zs_write_reg(cs, 5, reg[5] & ~ZSWR5_TX_ENABLE);
208 zs_write_reg(cs, 6, reg[6]);
209 zs_write_reg(cs, 7, reg[7]);
220 zs_write_reg(cs, 2, reg[2]);
222 zs_write_reg(cs, 9, reg[9]);
226 zs_write_reg(cs, 14, reg[14] & ~ZSWR14_BAUD_ENA);
230 ZS_MD_SETCLK(cs);
234 zs_write_reg(cs, 11, reg[11]);
237 zs_write_reg(cs, 12, reg[12]);
238 zs_write_reg(cs, 13, reg[13]);
241 zs_write_reg(cs, 14, reg[14]);
244 zs_write_reg(cs, 15, reg[15]);
252 zs_write_csr(cs, ZSM_RESET_STINT);
253 zs_write_csr(cs, ZSM_RESET_STINT);
256 zs_write_reg(cs, 3, reg[3]);
257 zs_write_reg(cs, 5, reg[5]);
260 if (cs->cs_ctl_chan != NULL) {
261 v = cs->cs_ctl_chan->cs_preg[5];
262 cs->cs_ctl_chan->cs_creg[5] = v;
263 zs_write_reg(cs->cs_ctl_chan, 5, v);
267 zs_write_reg(cs, 1, reg[1]);
271 zs_lock_init(struct zs_chanstate *cs)
274 mutex_init(&cs->cs_lock, MUTEX_NODEBUG, IPL_ZS);
278 zs_lock_chan(struct zs_chanstate *cs)
281 mutex_spin_enter(&cs->cs_lock);
285 zs_unlock_chan(struct zs_chanstate *cs)
288 mutex_spin_exit(&cs->cs_lock);
375 struct zs_chanstate *cs;
380 cs = zsc->zsc_cs[chan];
387 if (cs->cs_softreq) {
388 cs->cs_softreq = 0;
389 (*cs->cs_ops->zsop_softint)(cs);
406 zsnull_rxint(struct zs_chanstate *cs)
410 cs->cs_softreq = 1;
414 zsnull_stint(struct zs_chanstate *cs, int force)
418 cs->cs_softreq = 1;
422 zsnull_txint(struct zs_chanstate *cs)
426 cs->cs_softreq = 1;
430 zsnull_softint(struct zs_chanstate *cs)
433 zs_write_reg(cs, 1, 0);
434 zs_write_reg(cs, 15, 0);