Lines Matching defs:lqi

183 sm_setdip(queue_t *q, sm_lqi_t *lqi)
185 lqi->sm_dev = q && STREAM(q) ? STREAM(q)->sd_vnode->v_rdev : NODEV;
193 sm_lqifree(sm_lqi_t *lqi)
198 ASSERT(mutex_owned(lqi->sm_umutex));
199 ASSERT(SM_RQ(lqi) != 0);
213 if (lqi->sm_uqi) {
214 sm_dbg('Y', ("lqifree unit %d, ", lqi->sm_uqi->sm_lunit));
215 if ((mu_owned = mutex_owned(lqi->sm_uqi->sm_umutex)) == 0)
216 LOCK_UNIT(lqi->sm_uqi);
218 pplqi = &lqi->sm_uqi->sm_lqs;
219 while (*pplqi != lqi) {
223 *pplqi = lqi->sm_nlqi;
224 lqi->sm_uqi->sm_nlqs--;
227 UNLOCK_UNIT(lqi->sm_uqi);
229 lqi->sm_uqi = 0;
241 sm_lqi_t *lqi, *flqi = 0;
244 lqi = &sm_ssp->sm_lqs[i];
245 LOCK_UNIT(lqi);
246 if (flqi == 0 && lqi->sm_linkid == 0) /* assumes muxids != 0 */
247 flqi = lqi;
248 else if (SM_RQ(lqi) == q || SM_WQ(lqi) == q) {
251 return (lqi);
254 UNLOCK_UNIT(lqi);
267 sm_lqi_t *lqi;
272 lqi = &sm_ssp->sm_lqs[i];
273 if (lqi->sm_linkid == linkid)
274 return (lqi);
287 sm_lqi_t *lqi;
293 lqi = &sm_ssp->sm_lqs[i];
294 if (lqi->sm_dev == dev)
295 return (lqi);
307 sm_lqi_t *lqi;
312 for (lqi = uqi->sm_lqs; lqi; lqi = lqi->sm_nlqi) {
313 if (lqi->sm_flags & flag)
336 sm_lqi_t *lqi;
339 for (lqi = uqi->sm_lqs; lqi; lqi = lqi->sm_nlqi) {
340 if ((lqi->sm_flags & flag) == 0)
353 sm_lqi_t *lqi;
356 for (lqi = uqi->sm_lqs; lqi; lqi = lqi->sm_nlqi) {
357 if ((lqi->sm_flags & flag) == 0 &&
358 (lqi->sm_ioflag & ioflag) == 0)
387 sm_lqi_t *lqi = arg;
389 queue_t *q = SM_WQ(lqi);
392 LOCK_UNIT(lqi);
394 lqi->sm_bid = 0;
395 if ((lqi->sm_flags & (WERROR_MODE|HANGUP_MODE)) == 0 &&
396 (lqi->sm_flags & (WANT_CDSTAT|WANT_TCSET))) {
399 if (lqi->sm_flags & WANT_TCSET) {
400 lqi->sm_flags &= ~WANT_TCSET;
403 } else if (lqi->sm_flags & WANT_SC) {
404 lqi->sm_flags &= ~WANT_SC;
407 } else if (lqi->sm_flags & WANT_CD) {
408 lqi->sm_flags &= ~WANT_CD;
410 } else if (lqi->sm_flags & WANT_CL) {
411 lqi->sm_flags &= ~WANT_CL;
415 UNLOCK_UNIT(lqi);
433 tc->c_cflag = lqi->sm_ttycommon->
451 lqi->sm_piocid = ((struct iocblk *)pioc->b_rptr)->
453 lqi->sm_flags |= SM_IOCPENDING;
455 /* lqi->sm_flags |= cmdflag; */
456 UNLOCK_UNIT(lqi);
459 UNLOCK_UNIT(lqi);
460 lqi->sm_bid = qbufcall(WR(q), size, BPRI_MED,
461 sm_issue_ioctl, lqi);
465 UNLOCK_UNIT(lqi);
486 sm_dbg('@', (" invalid: lqi=0x%p lui=0x%p:", plqi, uqi));
603 sm_dbg('@', ("invalid: lqi=0x%p lui=0x%p", plqi, uqi));
688 sm_lqi_t *lqi;
690 for (lqi = uqi->sm_lqs; lqi != 0; lqi = lqi->sm_nlqi) {
691 if (lqi->sm_mp != 0) {
692 putnext(SM_WQ(lqi), lqi->sm_mp);
693 lqi->sm_mp = 0;
705 sm_lqi_t *lqi;
708 for (lqi = uqi->sm_lqs; lqi != 0; lqi = lqi->sm_nlqi) {
709 lqi->sm_mp = 0;
710 if (lqi->sm_flags & WERROR_MODE) {
713 if ((lqi->sm_ioflag & (uint_t)FOROUTPUT) == 0) {
717 if (lqi->sm_nlqi == 0) {
718 lqi->sm_mp = mp;
720 } else if ((lqi->sm_mp = sm_copymsg(mp)) == 0) {
723 for (flqi = uqi->sm_lqs; flqi != lqi;
725 if (lqi->sm_mp) {
727 sm_freemsg(lqi->sm_mp);
728 lqi->sm_mp = 0;
747 register sm_lqi_t *lqi;
752 for (lqi = uqi->sm_lqs; lqi != 0; lqi = lqi->sm_nlqi) {
753 if ((lqi->sm_flags & WERROR_MODE) == 0 &&
754 canputnext(SM_WQ(lqi)) == 0)
1423 sm_lqi_t *lqi = (sm_lqi_t *)q->q_ptr;
1426 LOCK_UNIT(lqi);
1427 if (lqi->sm_uqflags & SM_UQVALID) {
1431 * upper half thread. While holding the lqi lock and
1433 * lqi->sm_uqi will be valid.
1437 uwq = SM_WQ(lqi->sm_uqi);
1438 UNLOCK_UNIT(lqi);
1441 UNLOCK_UNIT(lqi);
1652 sm_lqi_t *lqi;
1656 for (lqi = uqi->sm_lqs; lqi != 0; lqi = lqi->sm_nlqi) {
1657 drq = SM_RQ(lqi)->q_next;
1673 sm_lqi_t *lqi = (sm_lqi_t *)q->q_ptr;
1677 LOCK_UNIT(lqi);
1683 if ((lqi->sm_ioflag & (uint_t)FORINPUT) == 0) {
1685 UNLOCK_UNIT(lqi);
1688 if ((lqi->sm_uqflags & SM_OBPCNDEV) &&
1689 lqi->sm_ctrla_abort_on &&
1699 if (*rxc == *lqi->sm_nachar) {
1700 lqi->sm_nachar++;
1701 if (*lqi->sm_nachar == '\0') {
1704 lqi->sm_nachar = sm_ssp->sm_abs;
1708 lqi->sm_nachar = (*rxc == *sm_ssp->
1716 UNLOCK_UNIT(lqi);
1720 UNLOCK_UNIT(lqi);
1723 LOCK_UNIT(lqi);
1731 if ((lqi->sm_uqflags & SM_OBPCNDEV) && /* console stream */
1735 if (lqi->sm_break_abort_on &&
1740 UNLOCK_UNIT(lqi);
1743 UNLOCK_UNIT(lqi);
1753 LOCK_UNIT(lqi); /* lock out the upper half */
1754 if ((lqi->sm_uqflags & SM_UQVALID) && SM_RQ(lqi->sm_uqi)) {
1755 UNLOCK_UNIT(lqi);
1756 if (!canput(SM_RQ(lqi->sm_uqi))) {
1762 UNLOCK_UNIT(lqi);
1774 sm_lqi_t *lqi = (sm_lqi_t *)q->q_ptr;
1794 if ((lqi->sm_flags & SM_IOCPENDING) && lqi->sm_piocid ==
1797 lqi->sm_flags &= ~SM_IOCPENDING;
1798 sm_issue_ioctl(lqi);
1808 lqi->sm_mbits |= TIOCM_CD;
1809 lqi->sm_flags &= ~(WERROR_MODE|HANGUP_MODE);
1815 lqi->sm_mbits &= ~TIOCM_CD;
1816 lqi->sm_flags |= (WERROR_MODE|HANGUP_MODE);
1831 lqi->sm_flags &= ~ERROR_MODE;
1832 lqi->sm_flags |= WANT_CD;
1837 lqi->sm_flags |= RERROR_MODE;
1843 lqi->sm_flags |= WERROR_MODE;
1856 lqi->sm_flags |= (RERROR_MODE | WERROR_MODE);
1875 LOCK_UNIT(lqi); /* lock out the upper half */
1876 if (lqi->sm_uqflags & SM_UQVALID && SM_RQ(lqi->sm_uqi)) {
1877 UNLOCK_UNIT(lqi);
1878 (void) putq(SM_RQ(lqi->sm_uqi), mp);
1884 UNLOCK_UNIT(lqi);
2243 sm_lqi_t *lqi;
2250 for (lqi = uqi->sm_lqs; lqi != 0; lqi = lqi->sm_nlqi) {
2251 LOCK_UNIT(lqi);
2252 lqi->sm_uqflags |= SM_UQVALID;
2253 UNLOCK_UNIT(lqi);
2288 sm_lqi_t *lqi;
2292 for (lqi = uqi->sm_lqs; lqi != 0;
2293 lqi = lqi->sm_nlqi) {
2294 LOCK_UNIT(lqi);
2295 lqi->sm_uqflags &= ~SM_UQVALID;
2296 UNLOCK_UNIT(lqi);
2329 sm_lqi_t *lqi;
2357 for (lqi = uqi->sm_lqs; lqi != 0; lqi = lqi->sm_nlqi) {
2358 LOCK_UNIT(lqi);
2359 lqi->sm_uqflags &= ~SM_UQVALID;
2360 UNLOCK_UNIT(lqi);