Lines Matching defs:li

220 	struct lun_info *li = cb->li;
225 li->li_nqio ++;
233 struct lun_info *li = cb->li;
238 li->li_nqio --;
318 struct lun_info *li;
322 li = scsi_low_alloc_li(ti, lun, 0);
323 if (li == NULL)
335 TAILQ_FOREACH(cb, &li->li_discq, ccb_chain)
429 struct lun_info *li;
473 li = scsi_low_alloc_li(ti, lun, 1);
477 scsi_low_message_enqueue(slp, ti, li, CCB_AUTOSENSE);
480 scsi_low_enqueue(slp, ti, li, cb, flags, 0);
485 scsi_low_test_abort(slp, ti, li);
572 li = scsi_low_alloc_li(ti, lun, 1);
574 li->li_quirks |= SCSI_LOW_DISK_DISC;
576 li->li_quirks &= ~SCSI_LOW_DISK_DISC;
580 li->li_quirks |= SCSI_LOW_DISK_QTAG;
582 li->li_quirks &= ~SCSI_LOW_DISK_QTAG;
584 li->li_flags_valid |= SCSI_LOW_LUN_FLAGS_QUIRKS_VALID;
586 scsi_low_calcf_lun(li);
588 scsi_low_calcf_show(li);
616 li = scsi_low_alloc_li(ti, lun, 1);
617 if (li != NULL && cts->type == CTS_TYPE_CURRENT_SETTINGS) {
623 if (li->li_flags_valid != SCSI_LOW_LUN_FLAGS_ALL_VALID)
639 diskflags = li->li_diskflags & li->li_cfgflags;
715 li = scsi_low_alloc_li(ti, lun, 1);
716 scsi_low_enqueue(slp, ti, li, cb, flags, msg);
1136 struct lun_info *li;
1138 li = LIST_FIRST(&ti->ti_litab);
1139 if (li != NULL)
1141 if (li->li_lun == lun)
1142 return li;
1144 while ((li = LIST_NEXT(li, lun_chain)) != NULL)
1146 if (li->li_lun == lun)
1148 LIST_REMOVE(li, lun_chain);
1149 LIST_INSERT_HEAD(&ti->ti_litab, li, lun_chain);
1150 return li;
1156 return li;
1158 li = SCSI_LOW_MALLOC(ti->ti_lunsize);
1159 if (li == NULL)
1162 bzero(li, ti->ti_lunsize);
1163 li->li_lun = lun;
1164 li->li_ti = ti;
1166 li->li_cfgflags = SCSI_LOW_SYNC | SCSI_LOW_LINK | SCSI_LOW_DISC |
1168 li->li_quirks = li->li_diskflags = SCSI_LOW_DISK_LFLAGS;
1169 li->li_flags_valid = SCSI_LOW_LUN_FLAGS_USER_VALID;
1171 li->li_flags_valid |= SCSI_LOW_LUN_FLAGS_QUIRKS_VALID;
1174 li->li_qtagbits = (u_int) -1;
1176 TAILQ_INIT(&li->li_discq);
1177 LIST_INSERT_HEAD(&ti->ti_litab, li, lun_chain);
1182 (slp, ti, li, SCSI_LOW_INFO_ALLOC);
1183 scsi_low_calcf_lun(li);
1184 return li;
1233 struct lun_info *li, *nli;
1237 for (li = LIST_FIRST(&ti->ti_litab); li != NULL; li = nli)
1242 (slp, ti, li, SCSI_LOW_INFO_DEALLOC);
1244 nli = LIST_NEXT(li, lun_chain);
1245 SCSI_LOW_FREE(li);
1290 struct lun_info *li;
1352 for (li = LIST_FIRST(&ti->ti_litab); li != NULL;
1353 li = LIST_NEXT(li, lun_chain))
1355 for (cb = TAILQ_FIRST(&li->li_discq);
1407 struct lun_info *li;
1417 li = cb->li;
1461 struct lun_info *li;
1495 li = scsi_low_alloc_li(ti, 0, 1);
1578 scsi_low_enqueue(slp, ti, li, cb, flags, msg)
1581 struct lun_info *li;
1587 cb->li = li;
1615 scsi_low_message_enqueue(slp, ti, li, flags)
1618 struct lun_info *li;
1633 scsi_low_enqueue(slp, ti, li, cb, flags, tmsgflags);
1664 scsi_low_sense_abort_start(slp, ti, li, cb)
1667 struct lun_info *li;
1697 scsi_low_setup_start(slp, ti, li, cb)
1700 struct lun_info *li;
1704 switch(li->li_state)
1721 cb->ccb_scp.scp_data = (u_int8_t *)&li->li_inq;
1722 cb->ccb_scp.scp_datalen = sizeof(li->li_inq);
1730 cb->ccb_scp.scp_data = (u_int8_t *)&li->li_sms;
1731 cb->ccb_scp.scp_datalen = sizeof(li->li_sms);
1769 struct lun_info *li;
1800 li = cb->li;
1802 if (li->li_disc == 0)
1806 else if (li->li_nqio > 0)
1808 if (li->li_nqio < li->li_maxnqio ||
1827 slp->sl_Lnexus = li;
1837 rv = scsi_low_sense_abort_start(slp, ti, li, cb);
1839 else if (li->li_state >= SCSI_LOW_LUN_OK)
1851 rv = scsi_low_setup_start(slp, ti, li, cb);
1858 (li->li_flags & SCSI_LOW_QTAG_OK) == SCSI_LOW_QTAG_OK &&
1859 li->li_maxnqio > 0)
1972 struct lun_info *li;
1975 li = cb->li;
1984 if (li->li_state == SCSI_LOW_LUN_SLEEP &&
1991 switch(li->li_state)
1996 li->li_diskflags &=
1998 if (li->li_lun > 0)
2003 else if ((li->li_inq.sd_version & 7) >= 2 ||
2004 (li->li_inq.sd_len >= 4))
2006 if ((li->li_inq.sd_support & 0x2) == 0)
2007 li->li_diskflags &= ~SCSI_LOW_DISK_QTAG;
2008 if ((li->li_inq.sd_support & 0x8) == 0)
2009 li->li_diskflags &= ~SCSI_LOW_DISK_LINK;
2010 if (li->li_lun > 0)
2012 if ((li->li_inq.sd_support & 0x10) == 0)
2014 if ((li->li_inq.sd_support & 0x20) == 0)
2016 if ((li->li_inq.sd_support & 0x40) == 0)
2021 li->li_diskflags &=
2023 if (li->li_lun > 0)
2030 scsi_low_calcf_lun(li);
2056 li->li_diskflags &= ~SCSI_LOW_DISK_QTAG;
2059 else if ((li->li_sms.sms_cmp.cmp_page & 0x3f) == 0x0a)
2061 if (li->li_sms.sms_cmp.cmp_qc & 0x02)
2062 li->li_qflags |= SCSI_LOW_QFLAG_CA_QCLEAR;
2064 li->li_qflags &= ~SCSI_LOW_QFLAG_CA_QCLEAR;
2065 if ((li->li_sms.sms_cmp.cmp_qc & 0x01) != 0)
2066 li->li_diskflags &= ~SCSI_LOW_DISK_QTAG;
2068 li->li_flags_valid |= SCSI_LOW_LUN_FLAGS_DISK_VALID;
2069 scsi_low_calcf_lun(li);
2076 li->li_state ++;
2077 if (li->li_state == SCSI_LOW_LUN_OK)
2080 scsi_low_calcf_lun(li);
2081 if (li->li_flags_valid == SCSI_LOW_LUN_FLAGS_ALL_VALID &&
2084 scsi_low_calcf_show(li);
2255 struct lun_info *li;
2257 for (li = LIST_FIRST(&ti->ti_litab); li != NULL;
2258 li = LIST_NEXT(li, lun_chain))
2260 scsi_low_reset_nexus_lun(slp, li, fdone);
2261 li->li_state = SCSI_LOW_LUN_SLEEP;
2262 li->li_maxnqio = 0;
2282 for (li = LIST_FIRST(&ti->ti_litab); li != NULL;
2283 li = LIST_NEXT(li, lun_chain))
2285 li->li_flags = 0;
2287 li->li_diskflags = SCSI_LOW_DISK_LFLAGS;
2288 li->li_flags_valid &= ~SCSI_LOW_LUN_FLAGS_DISK_VALID;
2293 (slp, ti, li, SCSI_LOW_INFO_REVOKE));
2295 scsi_low_calcf_lun(li);
2389 scsi_low_establish_ccb(ti, li, tag)
2391 struct lun_info *li;
2397 if (li == NULL)
2400 cb = TAILQ_FIRST(&li->li_discq);
2427 TAILQ_REMOVE(&li->li_discq, cb, ccb_chain);
2436 li->li_disc --;
2753 struct lun_info *li = slp->sl_Lnexus;
2768 msg |= (MSG_IDENTIFY_DISCPRIV | li->li_lun);
2770 msg |= li->li_lun;
3031 struct lun_info *li;
3040 li = slp->sl_Lnexus;
3044 li->li_maxnqio = li->li_maxnexus;
3048 li->li_maxnqio = 0;
3049 if (li->li_qflags & SCSI_LOW_QFLAG_CA_QCLEAR)
3050 scsi_low_reset_nexus_lun(slp, li, 0);
3054 li->li_maxnqio = 0;
3058 if (li->li_maxnexus >= li->li_nqio)
3059 li->li_maxnexus = li->li_nqio - 1;
3060 li->li_maxnqio = li->li_maxnexus;
3079 struct lun_info *li;
3083 li = slp->sl_Lnexus;
3092 li->li_maxnqio = li->li_maxnexus;
3100 if ((li->li_flags & SCSI_LOW_LINK) == 0)
3110 if (ncb->li == li)
3374 struct lun_info *li = slp->sl_Lnexus;
3402 if (li == NULL)
3418 if (li == NULL)
3487 struct lun_info *li;
3569 li = slp->sl_Lnexus;
3570 if (li == NULL)
3572 li = scsi_low_alloc_li(ti, MSGCMD_LUN(msg), 0);
3573 if (li == NULL)
3575 slp->sl_Lnexus = li;
3580 if (MSGCMD_LUN(msg) != li->li_lun)
3584 if (slp->sl_Qnexus == NULL && li->li_nqio == 0)
3586 if (!scsi_low_establish_ccb(ti, li, SCSI_LOW_UNKTAG))
3654 struct lun_info *li;
3656 li = cb->li;
3657 TAILQ_INSERT_TAIL(&li->li_discq, cb, ccb_chain);
3660 li->li_disc ++;
3725 struct lun_info *li = cb->li;
3732 etag = ffs(li->li_qtagbits);
3736 li->li_qtagbits &= ~(1 << (etag - 1));
3741 for (etag = li->li_qd ; li->li_qd < SCSI_LOW_MAXNEXUS; li->li_qd ++)
3742 if (li->li_qtagarray[li->li_qd] == 0)
3745 for (li->li_qd = 0; li->li_qd < etag; li->li_qd ++)
3746 if (li->li_qtagarray[li->li_qd] == 0)
3752 li->li_qtagarray[li->li_qd] ++;
3753 cb->ccb_otag = (li->li_qd ++);
3762 struct lun_info *li = cb->li;
3771 if (etag >= sizeof(li->li_qtagbits) * NBBY)
3774 li->li_qtagbits |= (1 << etag);
3782 li->li_qtagarray[etag] --;
3796 struct lun_info *li = cb->li;
3814 TAILQ_REMOVE(&li->li_discq, cb, ccb_chain);
3815 li->li_disc --;
3845 scsi_low_reset_nexus_lun(slp, li, fdone)
3847 struct lun_info *li;
3852 if (li == NULL)
3856 for (cb = TAILQ_FIRST(&li->li_discq); cb != NULL; cb = ncb)
3885 scsi_low_calcf_lun(li)
3886 struct lun_info *li;
3888 struct targ_info *ti = li->li_ti;
3892 if (li->li_flags_valid == SCSI_LOW_LUN_FLAGS_ALL_VALID)
3893 cfgflags = li->li_cfgflags;
3897 diskflags = li->li_diskflags & li->li_quirks;
3900 li->li_flags &= ~SCSI_LOW_DISC;
3904 li->li_flags |= SCSI_LOW_DISC;
3907 li->li_flags |= SCSI_LOW_NOPARITY;
3911 li->li_flags &= ~SCSI_LOW_NOPARITY;
3918 li->li_flags |= SCSI_LOW_QTAG;
3919 li->li_maxnexus = SCSI_LOW_MAXNEXUS;
3920 li->li_maxnqio = li->li_maxnexus;
3924 li->li_flags &= ~SCSI_LOW_QTAG;
3925 li->li_maxnexus = 0;
3926 li->li_maxnqio = li->li_maxnexus;
3930 li->li_flags &= ~SCSI_LOW_LINK;
3933 li->li_flags |= SCSI_LOW_LINK;
3936 li->li_flags &= ~SCSI_LOW_SYNC;
3938 li->li_flags |= SCSI_LOW_SYNC;
3943 scsi_low_calcf_show(li);
4009 scsi_low_calcf_show(li)
4010 struct lun_info *li;
4012 struct targ_info *ti = li->li_ti;
4017 ti->ti_id, li->li_lun,
4021 li->li_flags, SCSI_LOW_BITS);
4035 struct lun_info *li;
4069 li = scsi_low_alloc_li(ti, lun, 1);
4071 scsi_low_enqueue(slp, ti, li, cb,
4076 if (li->li_state != SCSI_LOW_LUN_OK)
4122 scsi_low_test_abort(slp, ti, li)
4125 struct lun_info *li;
4129 if (li->li_disc > 1)
4131 acb = TAILQ_FIRST(&li->li_discq);
4207 struct lun_info *li;
4214 li = slp->sl_Lnexus;
4219 li = LIST_FIRST(&ti->ti_litab);
4220 cb = TAILQ_FIRST(&li->li_discq);
4226 (u_long) ti, (u_long) li, (u_long) cb, slp->sl_nio);
4234 if (li != NULL)
4236 lun = li->li_lun;
4237 flags = li->li_flags;
4238 maxnqio = li->li_maxnqio;
4239 nqio = li->li_nqio;