Lines Matching defs:chan

54 static void isp_loop_changed(ispsoftc_t *isp, int chan);
76 int chan = arg2;
79 value = FCPARAM(isp, chan)->role;
89 old = FCPARAM(isp, chan)->role;
101 error = isp_control(isp, ISPCTL_CHANGE_ROLE, chan, value);
107 isp_attach_chan(ispsoftc_t *isp, struct cam_devq *devq, int chan)
123 if (xpt_bus_register(sim, isp->isp_dev, chan) != CAM_SUCCESS) {
147 struct isp_spi *spi = ISP_SPI_PC(isp, chan);
162 fcparam *fcp = FCPARAM(isp, chan);
163 struct isp_fc *fc = ISP_FC_PC(isp, chan);
189 isp_loop_changed(isp, chan);
192 "%s_%d", device_get_nameunit(isp->isp_osinfo.dev), chan)) {
201 if (chan > 0) {
202 snprintf(name, sizeof(name), "chan%d", chan);
224 "role", CTLTYPE_INT | CTLFLAG_RW, isp, chan,
252 isp_detach_chan(ispsoftc_t *isp, int chan)
259 ISP_GET_PC(isp, chan, sim, sim);
260 ISP_GET_PC(isp, chan, path, path);
261 ISP_GET_PC_ADDR(isp, chan, num_threads, num_threads);
284 int chan;
294 for (chan = 0; chan < isp->isp_nchan; chan++) {
295 if (isp_attach_chan(isp, isp->isp_osinfo.devq, chan)) {
311 while (--chan >= 0) {
315 ISP_GET_PC(isp, chan, sim, sim);
316 ISP_GET_PC(isp, chan, path, path);
331 int chan;
340 for (chan = isp->isp_nchan - 1; chan >= 0; chan -= 1)
341 isp_detach_chan(isp, chan);
349 isp_freeze_loopdown(ispsoftc_t *isp, int chan)
351 struct isp_fc *fc = ISP_FC_PC(isp, chan);
357 "Chan %d Freeze simq (loopdown)", chan);
363 "Chan %d Mark simq frozen (loopdown)", chan);
369 isp_unfreeze_loopdown(ispsoftc_t *isp, int chan)
371 struct isp_fc *fc = ISP_FC_PC(isp, chan);
379 "Chan %d Release simq", chan);
389 int nr, chan, retval = ENOTTY;
403 chan = *(int *)addr;
404 if (chan < 0 || chan >= isp->isp_nchan) {
409 *(int *)addr = FCPARAM(isp, chan)->role;
419 chan = nr >> 8;
420 if (chan < 0 || chan >= isp->isp_nchan) {
430 *(int *)addr = FCPARAM(isp, chan)->role;
431 retval = isp_control(isp, ISPCTL_CHANGE_ROLE, chan, nr);
445 chan = *(intptr_t *)addr;
446 if (chan < 0 || chan >= isp->isp_nchan) {
451 if (isp_fc_runstate(isp, chan, 5 * 1000000) != LOOP_READY) {
462 chan = *(intptr_t *)addr;
463 if (chan < 0 || chan >= isp->isp_nchan) {
468 if (isp_control(isp, ISPCTL_SEND_LIP, chan)) {
488 lp = &FCPARAM(isp, ifc->chan)->portdb[ifc->loopid];
504 int chan = hba->fc_channel;
506 if (chan < 0 || chan >= isp->isp_nchan) {
517 hba->fc_topology = FCPARAM(isp, chan)->isp_topo + 1;
518 hba->fc_loopid = FCPARAM(isp, chan)->isp_loopid;
519 hba->nvram_node_wwn = FCPARAM(isp, chan)->isp_wwnn_nvram;
520 hba->nvram_port_wwn = FCPARAM(isp, chan)->isp_wwpn_nvram;
521 hba->active_node_wwn = FCPARAM(isp, chan)->isp_wwnn;
522 hba->active_port_wwn = FCPARAM(isp, chan)->isp_wwpn;
546 chan = fct->chan;
547 if (chan < 0 || chan >= isp->isp_nchan) {
560 fcparam *fcp = FCPARAM(isp, chan);
583 tmf.tmf_vpidx = ISP_GET_VPIDX(isp, chan);
624 __func__, chan);
635 __func__, chan);
648 __func__, chan);
702 FCPARAM(isp, chan)->sendmarker = 1;
776 static void isp_target_mark_aborted_early(ispsoftc_t *, int chan, tstate_t *, uint32_t);
857 isp_get_atpd(ispsoftc_t *isp, int chan, uint32_t tag)
863 ISP_GET_PC_ADDR(isp, chan, atfree, atfree);
868 ISP_GET_PC(isp, chan, atused, atused);
875 isp_find_atpd(ispsoftc_t *isp, int chan, uint32_t tag)
880 ISP_GET_PC(isp, chan, atused, atused);
889 isp_put_atpd(ispsoftc_t *isp, int chan, atio_private_data_t *atp)
898 ISP_GET_PC_ADDR(isp, chan, atfree, atfree);
903 isp_dump_atpd(ispsoftc_t *isp, int chan)
908 ISP_GET_PC(isp, chan, atpool, atpool);
913 chan, atp->tag, atp->orig_datalen, atp->bytes_xfered, (uintmax_t)atp->lun, atp->nphdl, atp->sid, atp->did, atp->oxid, states[atp->state & 0x7]);
918 isp_get_ntpd(ispsoftc_t *isp, int chan)
923 ISP_GET_PC_ADDR(isp, chan, ntfree, ntfree);
931 isp_find_ntpd(ispsoftc_t *isp, int chan, uint32_t tag_id, uint32_t seq_id)
935 ISP_GET_PC(isp, chan, ntpool, ntp);
936 ISP_GET_PC_ADDR(isp, chan, ntpool[ATPDPSIZE], ntp2);
945 isp_put_ntpd(ispsoftc_t *isp, int chan, inot_private_data_t *ntp)
950 ISP_GET_PC_ADDR(isp, chan, ntfree, ntfree);
1781 uint16_t chan, nphdl = NIL_HANDLE;
1796 isp_find_chan_by_did(isp, did, &chan);
1797 if (chan == ISP_NOCHAN) {
1806 chan = 0;
1812 if (isp_find_pdb_by_portid(isp, chan, sid, &lp) == 0) {
1817 __func__, aep->at_rxid, did, chan, sid);
1818 isp_dump_portdb(isp, chan);
1819 isp_endcmd(isp, aep, NIL_HANDLE, chan, ECMD_TERMINATE, 0);
1827 tptr = get_lun_statep(isp, chan, lun);
1829 tptr = get_lun_statep(isp, chan, CAM_LUN_WILDCARD);
1835 isp_endcmd(isp, aep, nphdl, chan, SCSI_STATUS_BUSY, 0);
1837 isp_endcmd(isp, aep, nphdl, chan, SCSI_STATUS_CHECK_COND | ECMD_SVALID | (0x5 << 12) | (0x25 << 16), 0);
1846 if (isp_atio_restart(isp, chan, tptr))
1853 isp_endcmd(isp, aep, nphdl, chan, SCSI_BUSY, 0);
1866 oatp = isp_find_atpd(isp, chan, aep->at_rxid);
1875 atp = isp_get_atpd(isp, chan, aep->at_rxid);
1884 atiop->init_id = FC_PORTDB_TGT(isp, chan, lp);
1934 isp_put_atpd(isp, chan, atp);
1935 ntp = isp_get_ntpd(isp, chan);
1937 isp_endcmd(isp, aep, nphdl, chan, SCSI_STATUS_BUSY, 0);
2343 isp_prt(isp, ISP_LOGTDEBUG0, "%s: code 0x%x sid 0x%x tagval 0x%016llx chan %d lun %jx", __func__, notify->nt_ncode,
2360 isp_prt(isp, ISP_LOGWARN, "%s: no state pointer found for chan %d lun %#jx", __func__, notify->nt_channel, (uintmax_t)lun);
2366 isp_prt(isp, ISP_LOGWARN, "%s: out of immediate notify structures for chan %d lun %#jx", __func__, notify->nt_channel, (uintmax_t)lun);
2409 isp_prt(isp, ISP_LOGWARN, "%s: unknown TMF code 0x%x for chan %d lun %#jx", __func__, notify->nt_ncode, notify->nt_channel, (uintmax_t)lun);
2444 isp_target_mark_aborted_early(ispsoftc_t *isp, int chan, tstate_t *tptr, uint32_t tag_id)
2459 isp_endcmd(isp, ntp->data, NIL_HANDLE, chan,
2461 isp_put_ntpd(isp, chan, ntp);
2470 ISP_GET_PC(isp, chan, atpool, atpool);
2594 isp_make_here(ispsoftc_t *isp, fcportdb_t *fcp, int chan, int tgt)
2597 struct isp_fc *fc = ISP_FC_PC(isp, chan);
2604 isp_prt(isp, ISP_LOGWARN, "Chan %d unable to alloc CCB for rescan", chan);
2617 isp_make_gone(ispsoftc_t *isp, fcportdb_t *fcp, int chan, int tgt)
2620 struct isp_fc *fc = ISP_FC_PC(isp, chan);
2650 int chan = fc - isp->isp_osinfo.pc.fc;
2657 isp_prt(isp, ISP_LOGDEBUG0, "Chan %d GDT timer expired", chan);
2659 lp = &FCPARAM(isp, chan)->portdb[dbidx];
2669 isp_prt(isp, ISP_LOGCONFIG, prom3, chan, dbidx, lp->portid, "Gone Device Timeout");
2672 isp_make_gone(isp, lp, chan, dbidx);
2691 isp_prt(isp, ISP_LOG_SANCFG, "Chan %d Stopping Gone Device Timer @ %lu", chan, (unsigned long) time_uptime);
2707 isp_loop_changed(ispsoftc_t *isp, int chan)
2709 fcparam *fcp = FCPARAM(isp, chan);
2710 struct isp_fc *fc = ISP_FC_PC(isp, chan);
2714 isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d Loop changed", chan);
2716 isp_freeze_loopdown(isp, chan);
2722 isp_loop_up(ispsoftc_t *isp, int chan)
2724 struct isp_fc *fc = ISP_FC_PC(isp, chan);
2726 isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d Loop is up", chan);
2729 isp_unfreeze_loopdown(isp, chan);
2733 isp_loop_dead(ispsoftc_t *isp, int chan)
2735 fcparam *fcp = FCPARAM(isp, chan);
2736 struct isp_fc *fc = ISP_FC_PC(isp, chan);
2742 isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d Loop is dead", chan);
2766 isp->isp_xflist[i].handle, chan, XS_TGT(xs),
2783 isp->isp_xflist[i].handle, chan, XS_TGT(xs),
2789 isp_prt(isp, ISP_LOGCONFIG, prom3, chan, dbidx, lp->portid, "Loop Down Timeout");
2792 isp_make_gone(isp, lp, chan, dbidx);
2806 isp_unfreeze_loopdown(isp, chan);
2815 int chan = fc - isp->isp_osinfo.pc.fc;
2822 "Chan %d Checking FC state", chan);
2823 lb = isp_fc_runstate(isp, chan, 250000);
2825 "Chan %d FC got to %s state", chan,
2866 isp_loop_up(isp, chan);
2868 isp_loop_dead(isp, chan);
2872 "Chan %d sleep for %d seconds", chan, slp);
4013 isp_default_wwn(ispsoftc_t * isp, int chan, int isactive, int iswwnn)
4016 struct isp_fc *fc = ISP_FC_PC(isp, chan);
4025 seed = iswwnn ? FCPARAM(isp, chan)->isp_wwnn_nvram :
4026 FCPARAM(isp, chan)->isp_wwpn_nvram;
4032 if (chan > 0) {
4049 if (!iswwnn && chan > 0) {
4056 seed ^= ((uint64_t) (chan + 1) & 0xf) << 56;
4057 seed ^= ((uint64_t) ((chan + 1) >> 4) & 0xf) << 52;
4165 isp_fc_scratch_acquire(ispsoftc_t *isp, int chan)
4168 if (isp->isp_osinfo.pc.fc[chan].fcbsy) {
4171 isp->isp_osinfo.pc.fc[chan].fcbsy = 1;
4231 isp_fcp_reset_crn(ispsoftc_t *isp, int chan, uint32_t tgt, int tgt_set)
4233 struct isp_fc *fc = ISP_FC_PC(isp, chan);
4239 "Chan %d resetting CRN on all targets", chan);
4242 "Chan %d resetting CRN on target %u", chan, tgt);
4256 uint32_t chan, tgt;
4264 chan = XS_CHANNEL(cmd);
4267 fc = &isp->isp_osinfo.pc.fc[chan];