Lines Matching refs:dev

114 void esc_donextcmd(struct esc_softc *dev, struct esc_pending *pendp);
115 void esc_scsidone(struct esc_softc *dev, struct scsipi_xfer *xs,
117 void escintr(struct esc_softc *dev);
118 void esciwait(struct esc_softc *dev);
119 void escreset(struct esc_softc *dev, int how);
120 int escselect(struct esc_softc *dev, struct esc_pending *pendp,
123 void escicmd(struct esc_softc *dev, struct esc_pending *pendp);
124 int escgo(struct esc_softc *dev, struct esc_pending *pendp);
172 esc_init_nexus(struct esc_softc *dev, struct nexus *nexus) in esc_init_nexus() argument
181 nexus->config3 = dev->sc_config3 & ~ESC_CFG3_FASTSCSI; in esc_init_nexus()
185 escinitialize(struct esc_softc *dev) in escinitialize() argument
189 dev->sc_led_status = 0; in escinitialize()
191 TAILQ_INIT(&dev->sc_xs_pending); in escinitialize()
192 TAILQ_INIT(&dev->sc_xs_free); in escinitialize()
199 TAILQ_INSERT_TAIL(&dev->sc_xs_free, &dev->sc_xs_store[i], in escinitialize()
207 if (dev->sc_clock_freq <= 10) in escinitialize()
208 dev->sc_clock_conv_fact = 2; in escinitialize()
209 if (dev->sc_clock_freq <= 40) in escinitialize()
210 dev->sc_clock_conv_fact = 2+((dev->sc_clock_freq-10)/5); in escinitialize()
215 dev->sc_config1 = (dev->sc_host_id & ESC_CFG1_BUS_ID_MASK); in escinitialize()
216 dev->sc_config2 = ESC_CFG2_FEATURES_ENABLE; in escinitialize()
217 dev->sc_config3 = (dev->sc_clock_freq > 25 ? ESC_CFG3_FASTCLK : 0); in escinitialize()
223 dev->sc_timeout_val = 1+dev->sc_timeout*dev->sc_clock_freq/ in escinitialize()
224 ((7682*dev->sc_clock_conv_fact)/1000); in escinitialize()
225 dev->sc_clock_period = 1000/dev->sc_clock_freq; in escinitialize()
227 escreset(dev, 1 | 2); /* Reset Chip and Bus */ in escinitialize()
229 dev->sc_units_disconnected = 0; in escinitialize()
230 dev->sc_msg_in_len = 0; in escinitialize()
231 dev->sc_msg_out_len = 0; in escinitialize()
233 dev->sc_flags = 0; in escinitialize()
236 esc_init_nexus(dev, &dev->sc_nexus[i]); in escinitialize()
241 dev->sc_bump_va = (u_char *)uvm_km_alloc(kernel_map, dev->sc_bump_sz, 0, in escinitialize()
243 (void) pmap_extract(pmap_kernel(), (vaddr_t)dev->sc_bump_va, in escinitialize()
244 (paddr_t *)&dev->sc_bump_pa); in escinitialize()
250 pt_entry_t * const ptep = vtopte((vaddr_t) dev->sc_bump_va); in escinitialize()
256 cpu_dcache_wbinv_range((vaddr_t)dev->sc_bump_va, PAGE_SIZE); in escinitialize()
258 printf(" dmabuf V0x%08x P0x%08x", (u_int)dev->sc_bump_va, (u_int)dev->sc_bump_pa); in escinitialize()
270 struct esc_softc *dev = device_private(chan->chan_adapter->adapt_dev); in esc_scsi_request() local
285 if ((flags & XS_CTL_POLL) && (dev->sc_flags & ESC_ACTIVE)) in esc_scsi_request()
290 pendp = dev->sc_xs_free.tqh_first; in esc_scsi_request()
297 TAILQ_REMOVE(&dev->sc_xs_free, pendp, link); in esc_scsi_request()
303 if ((dev->sc_flags & ESC_ACTIVE) || in esc_scsi_request()
304 (dev->sc_nexus[target].flags & ESC_NF_UNIT_BUSY)) { in esc_scsi_request()
306 TAILQ_INSERT_TAIL(&dev->sc_xs_pending, pendp, link); in esc_scsi_request()
309 esc_donextcmd(dev, pendp); in esc_scsi_request()
324 esc_donextcmd(struct esc_softc *dev, struct esc_pending *pendp) in esc_donextcmd() argument
339 while(!escselect(dev, pendp, 0, 0, 0, 0, ESC_SELECT_K)) { in esc_donextcmd()
345 nexus = dev->sc_cur_nexus; in esc_donextcmd()
347 esciwait(dev); in esc_donextcmd()
348 escintr(dev); in esc_donextcmd()
354 escreset(dev, 0); in esc_donextcmd()
367 escicmd(dev, pendp); in esc_donextcmd()
368 TAILQ_INSERT_TAIL(&dev->sc_xs_free, pendp, link); in esc_donextcmd()
371 escgo(dev, pendp); in esc_donextcmd()
377 esc_scsidone(struct esc_softc *dev, struct scsipi_xfer *xs, int stat) in esc_scsidone() argument
404 pendp = dev->sc_xs_pending.tqh_first; in esc_scsidone()
406 if (!(dev->sc_nexus[pendp->xs->xs_periph->periph_target].flags & in esc_scsidone()
413 TAILQ_REMOVE(&dev->sc_xs_pending, pendp, link); in esc_scsidone()
420 esc_donextcmd(dev, pendp); in esc_scsidone()
431 escreset(struct esc_softc *dev, int how) in escreset() argument
436 rp = dev->sc_esc; in escreset()
440 esc_init_nexus(dev, &dev->sc_nexus[i]); in escreset()
446 *rp->esc_config1 = dev->sc_config1; in escreset()
447 *rp->esc_config2 = dev->sc_config2; in escreset()
448 *rp->esc_config3 = dev->sc_config3; in escreset()
449 *rp->esc_config4 = dev->sc_config4; in escreset()
450 *rp->esc_timeout = dev->sc_timeout_val; in escreset()
451 *rp->esc_clkconv = dev->sc_clock_conv_fact & in escreset()
457 esc_init_nexus(dev, &dev->sc_nexus[i]); in escreset()
466 dev->sc_status = *rp->esc_status; in escreset()
467 dev->sc_interrupt = *rp->esc_interrupt; in escreset()
472 dev->sc_status = *rp->esc_status; in escreset()
473 dev->sc_interrupt = *rp->esc_interrupt; in escreset()
478 if (dev->sc_config_flags & ESC_SLOW_START) in escreset()
488 esc_save_pointers(struct esc_softc *dev) in esc_save_pointers() argument
492 nx = dev->sc_cur_nexus; in esc_save_pointers()
494 nx->cur_link = dev->sc_cur_link; in esc_save_pointers()
495 nx->max_link = dev->sc_max_link; in esc_save_pointers()
496 nx->buf = dev->sc_buf; in esc_save_pointers()
497 nx->len = dev->sc_len; in esc_save_pointers()
498 nx->dma_len = dev->sc_dma_len; in esc_save_pointers()
499 nx->dma_buf = dev->sc_dma_buf; in esc_save_pointers()
500 nx->dma_blk_flg = dev->sc_dma_blk_flg; in esc_save_pointers()
501 nx->dma_blk_len = dev->sc_dma_blk_len; in esc_save_pointers()
502 nx->dma_blk_ptr = dev->sc_dma_blk_ptr; in esc_save_pointers()
510 esc_restore_pointers(struct esc_softc *dev) in esc_restore_pointers() argument
514 nx = dev->sc_cur_nexus; in esc_restore_pointers()
516 dev->sc_cur_link = nx->cur_link; in esc_restore_pointers()
517 dev->sc_max_link = nx->max_link; in esc_restore_pointers()
518 dev->sc_buf = nx->buf; in esc_restore_pointers()
519 dev->sc_len = nx->len; in esc_restore_pointers()
520 dev->sc_dma_len = nx->dma_len; in esc_restore_pointers()
521 dev->sc_dma_buf = nx->dma_buf; in esc_restore_pointers()
522 dev->sc_dma_blk_flg = nx->dma_blk_flg; in esc_restore_pointers()
523 dev->sc_dma_blk_len = nx->dma_blk_len; in esc_restore_pointers()
524 dev->sc_dma_blk_ptr = nx->dma_blk_ptr; in esc_restore_pointers()
525 dev->sc_chain = nx->dma; in esc_restore_pointers()
526 dev->sc_unit = (nx->lun_unit & 0x0F); in esc_restore_pointers()
527 dev->sc_lun = (nx->lun_unit & 0xF0) >> 4; in esc_restore_pointers()
536 esciwait(struct esc_softc *dev) in esciwait() argument
544 if (dev->sc_flags & ESC_DONT_WAIT) { in esciwait()
545 dev->sc_flags &= ~ESC_DONT_WAIT; in esciwait()
549 rp = dev->sc_esc; in esciwait()
556 dev->sc_status = *rp->esc_status; in esciwait()
557 dev->sc_interrupt = *rp->esc_interrupt; in esciwait()
558 if (dev->sc_interrupt & ESC_INT_RESELECTED) { in esciwait()
559 dev->sc_resel[0] = *rp->esc_fifo; in esciwait()
560 dev->sc_resel[1] = *rp->esc_fifo; in esciwait()
570 esc_ixfer(struct esc_softc *dev)
576 rp = dev->sc_esc;
577 buf = dev->sc_buf;
578 len = dev->sc_len;
584 phase = dev->sc_status & ESC_STAT_PHASE_MASK;
587 while(len && ((dev->sc_status & ESC_STAT_PHASE_MASK) == phase))
591 esciwait(dev);
600 esciwait(dev);
604 dev->sc_buf = buf;
605 dev->sc_len = len;
612 dev->sc_flags |= ESC_DONT_WAIT;
620 esc_ixfer(struct esc_softc *dev) in esc_ixfer() argument
630 rp = dev->sc_esc; in esc_ixfer()
631 buf = dev->sc_buf; in esc_ixfer()
632 len = dev->sc_len; in esc_ixfer()
645 phase = dev->sc_status & ESC_STAT_PHASE_MASK; in esc_ixfer()
649 while(len && ((dev->sc_status & ESC_STAT_PHASE_MASK) == phase)) { in esc_ixfer()
657 dev->sc_status = *esc_status; in esc_ixfer()
658 dev->sc_interrupt = *esc_interrupt; in esc_ixfer()
664 while(len && ((dev->sc_status & ESC_STAT_PHASE_MASK) == phase)) { in esc_ixfer()
674 dev->sc_status = *esc_status; in esc_ixfer()
675 dev->sc_interrupt = *esc_interrupt; in esc_ixfer()
680 dev->sc_buf = buf; in esc_ixfer()
681 dev->sc_len = len; in esc_ixfer()
688 dev->sc_flags |= ESC_DONT_WAIT; in esc_ixfer()
696 esc_build_sdtrm(struct esc_softc *dev, int period, int offset) in esc_build_sdtrm() argument
698 dev->sc_msg_out[0] = 0x01; in esc_build_sdtrm()
699 dev->sc_msg_out[1] = 0x03; in esc_build_sdtrm()
700 dev->sc_msg_out[2] = 0x01; in esc_build_sdtrm()
701 dev->sc_msg_out[3] = period/4; in esc_build_sdtrm()
702 dev->sc_msg_out[4] = offset; in esc_build_sdtrm()
703 dev->sc_msg_out_len= 5; in esc_build_sdtrm()
710 esc_select_unit(struct esc_softc *dev, short target) in esc_select_unit() argument
721 nexus = &dev->sc_nexus[target]; in esc_select_unit()
727 if (!(dev->sc_flags & ESC_ACTIVE) && !dev->sc_sel_nexus) { in esc_select_unit()
728 dev->sc_flags |= ESC_ACTIVE; in esc_select_unit()
730 rp = dev->sc_esc; in esc_select_unit()
736 *rp->esc_config1 = dev->sc_config1; in esc_select_unit()
737 *rp->esc_timeout = dev->sc_timeout_val; in esc_select_unit()
744 || (dev->sc_msg_out_len != 0)) in esc_select_unit()
753 dev->sc_sel_nexus = nexus; in esc_select_unit()
771 esc_arbitate_target(struct esc_softc *dev, int target) in esc_arbitate_target() argument
780 nexus = &dev->sc_nexus[target]; in esc_arbitate_target()
797 esc_setup_nexus(struct esc_softc *dev, struct nexus *nexus, struct esc_pending *pendp, unsigned cha… in esc_setup_nexus() argument
809 if ((dev->sc_config_flags & (ESC_NO_SYNCH | ESC_NO_DMA)) || in esc_setup_nexus()
813 if ((dev->sc_config_flags & ESC_NO_RESELECT) || in esc_setup_nexus()
868 nexus->period = ((dev->sc_clock_freq>25) ? 100 : 200); in esc_setup_nexus()
873 (dev->sc_config_flags & ESC_SLOW_CABLE)) in esc_setup_nexus()
881 if ((mode & ESC_SELECT_I) || (dev->sc_config_flags & ESC_NO_DMA)) { in esc_setup_nexus()
887 nexus->max_link = dev->sc_build_dma_chain(dev, nexus->dma, in esc_setup_nexus()
898 escselect(struct esc_softc *dev, struct esc_pending *pendp, unsigned char *cbuf, int clen, unsigned… in escselect() argument
903 nexus = esc_arbitate_target(dev, pendp->xs->xs_periph->periph_target); in escselect()
908 esc_setup_nexus(dev, nexus, pendp, cbuf, clen, buf, len, mode); in escselect()
911 esc_select_unit(dev, pendp->xs->xs_periph->periph_target); in escselect()
917 escgo(struct esc_softc *dev, struct esc_pending *pendp) in escgo() argument
924 if (escselect(dev, pendp, (char *)pendp->xs->cmd, pendp->xs->cmdlen, in escgo()
932 TAILQ_INSERT_TAIL(&dev->sc_xs_free, pendp, link); in escgo()
942 TAILQ_INSERT_HEAD(&dev->sc_xs_pending, pendp, link); in escgo()
954 esc_pretests(struct esc_softc *dev, esc_regmap_p rp) in esc_pretests() argument
959 if (dev->sc_interrupt & ESC_INT_SCSI_RESET_DETECTED) { in esc_pretests()
966 if (dev->sc_nexus[i].xs) in esc_pretests()
967 esc_scsidone(dev, dev->sc_nexus[i].xs, -2); in esc_pretests()
969 esc_init_nexus(dev, &dev->sc_nexus[i]); in esc_pretests()
975 if (dev->sc_interrupt & ESC_INT_ILLEGAL_COMMAND) { in esc_pretests()
987 if (dev->sc_interrupt & ESC_INT_RESELECTED) { in esc_pretests()
991 dev->sc_flags |= ESC_ACTIVE; in esc_pretests()
992 if (dev->sc_sel_nexus) { in esc_pretests()
993 dev->sc_sel_nexus->flags |= ESC_NF_SELECT_ME; in esc_pretests()
994 dev->sc_sel_nexus = 0; in esc_pretests()
998 if (dev->sc_units_disconnected) { in esc_pretests()
1001 dev->sc_resel[0] &= ~(1<<dev->sc_host_id); in esc_pretests()
1004 if (dev->sc_resel[0] & (1<<i)) in esc_pretests()
1010 if (dev->sc_nexus[i].state == ESC_NS_DISCONNECTED) { in esc_pretests()
1016 dev->sc_cur_nexus = &dev->sc_nexus[i]; in esc_pretests()
1017 nexus = dev->sc_cur_nexus; in esc_pretests()
1025 dev->sc_units_disconnected--; in esc_pretests()
1026 dev->sc_msg_in_len= 0; in esc_pretests()
1029 esc_restore_pointers(dev); in esc_pretests()
1041 dev->sc_resel[0], dev->sc_resel[1], in esc_pretests()
1042 dev->sc_units_disconnected); in esc_pretests()
1054 esc_midaction(struct esc_softc *dev, esc_regmap_p rp, struct nexus *nexus) in esc_midaction() argument
1059 if (dev->sc_interrupt & ESC_INT_DISCONNECT) { in esc_midaction()
1061 dev->sc_cur_nexus = 0; in esc_midaction()
1064 dev->sc_flags &= ~ESC_ACTIVE; in esc_midaction()
1070 dev->sc_sel_nexus = 0; in esc_midaction()
1077 nexus->xs->resid = dev->sc_len; in esc_midaction()
1086 nexus->xs->resid = dev->sc_len; in esc_midaction()
1090 dev->sc_led(dev, 0); in esc_midaction()
1100 dev->sc_units_disconnected++; in esc_midaction()
1108 dev->sc_led(dev, 0); in esc_midaction()
1109 esc_init_nexus(dev, nexus); in esc_midaction()
1120 dev->sc_status & ESC_STAT_PHASE_MASK, in esc_midaction()
1123 nexus->xs->resid = dev->sc_len; in esc_midaction()
1129 dev->sc_led(dev, 0); in esc_midaction()
1137 if (dev->sc_units_disconnected && in esc_midaction()
1138 !(dev->sc_flags & ESC_ACTIVE)) in esc_midaction()
1145 if (dev->sc_nexus[i].flags & (ESC_NF_SELECT_ME | ESC_NF_RETRY_SELECT)) in esc_midaction()
1146 if (esc_select_unit(dev, i) == 2) in esc_midaction()
1151 esc_scsidone(dev, nexus->xs, nexus->status); in esc_midaction()
1158 dev->sc_cur_nexus = nexus; in esc_midaction()
1159 dev->sc_sel_nexus = 0; in esc_midaction()
1171 esc_restore_pointers(dev); in esc_midaction()
1174 dev->sc_msg_in[0] = 0xFF; in esc_midaction()
1175 dev->sc_msg_in_len= 0; in esc_midaction()
1177 dev->sc_led(dev, 1); in esc_midaction()
1184 if (dev->sc_dma_len) in esc_midaction()
1185 if (dev->sc_cur_link < dev->sc_max_link) { in esc_midaction()
1190 left = dev->sc_setup_dma(dev, 0, 0, ESC_DMA_CLEAR); in esc_midaction()
1191 len = dev->sc_dma_len; in esc_midaction()
1200 if (dev->sc_dma_buf == dev->sc_bump_pa) in esc_midaction()
1204 dev->sc_bump_va[len-(left--)] = *rp->esc_fifo; in esc_midaction()
1206 memcpy(dev->sc_buf, dev->sc_bump_va, len-left); in esc_midaction()
1218 dev->sc_len -= len-left; in esc_midaction()
1219 dev->sc_buf += len-left; in esc_midaction()
1221 dev->sc_dma_buf = (char *)dev->sc_dma_buf + len-left; in esc_midaction()
1222 dev->sc_dma_len = left; in esc_midaction()
1224 dev->sc_dma_blk_ptr = (char *)dev->sc_dma_blk_ptr + in esc_midaction()
1226 dev->sc_dma_blk_len -= len-left; in esc_midaction()
1232 if (!dev->sc_dma_blk_len) in esc_midaction()
1233 dev->sc_cur_link++; in esc_midaction()
1254 dev->sc_msg_in[0] = msg; in esc_midaction()
1255 dev->sc_msg_in_len = 1; in esc_midaction()
1271 esc_postaction(struct esc_softc *dev, esc_regmap_p rp, struct nexus *nexus) in esc_postaction() argument
1279 switch(dev->sc_status & ESC_STAT_PHASE_MASK) { in esc_postaction()
1282 if ((dev->sc_status & ESC_STAT_PHASE_MASK) == in esc_postaction()
1290 dev->sc_setup_dma(dev, 0, 0, ESC_DMA_CLEAR); in esc_postaction()
1291 if (dev->sc_cur_link < dev->sc_max_link) { in esc_postaction()
1292 if (!dev->sc_dma_blk_len) { in esc_postaction()
1293 dev->sc_dma_blk_ptr = dev->sc_chain[dev->sc_cur_link].ptr; in esc_postaction()
1294 dev->sc_dma_blk_len = dev->sc_chain[dev->sc_cur_link].len; in esc_postaction()
1295 dev->sc_dma_blk_flg = dev->sc_chain[dev->sc_cur_link].flg; in esc_postaction()
1299 if (dev->sc_dma_blk_flg == ESC_CHAIN_PRG) { in esc_postaction()
1300 esc_ixfer(dev/*, nexus->xs->xs_control & XS_CTL_POLL*/); in esc_postaction()
1301 dev->sc_cur_link++; in esc_postaction()
1302 dev->sc_dma_len = 0; in esc_postaction()
1305 else if (dev->sc_dma_blk_flg == ESC_CHAIN_BUMP) in esc_postaction()
1306 len = dev->sc_dma_blk_len; in esc_postaction()
1308 len = dev->sc_need_bump(dev, in esc_postaction()
1309 (void *)dev->sc_dma_blk_ptr, in esc_postaction()
1310 dev->sc_dma_blk_len); in esc_postaction()
1317 dev->sc_dma_buf = dev->sc_bump_pa; in esc_postaction()
1318 dev->sc_dma_len = len; in esc_postaction()
1321 memcpy(dev->sc_bump_va, dev->sc_buf, dev->sc_dma_len); in esc_postaction()
1323 dev->sc_dma_buf = dev->sc_dma_blk_ptr; in esc_postaction()
1324 dev->sc_dma_len = dev->sc_dma_blk_len; in esc_postaction()
1328 dev->sc_setup_dma(dev, (void *)dev->sc_dma_buf, in esc_postaction()
1329 dev->sc_dma_len, in esc_postaction()
1381 esc_build_sdtrm(dev, nexus->period, nexus->offset); in esc_postaction()
1387 dev->sc_msg_out[0] = 0x0C; in esc_postaction()
1388 dev->sc_msg_out_len = 1; in esc_postaction()
1391 } else if (dev->sc_msg_out_len == 0) { in esc_postaction()
1394 dev->sc_msg_out[0] = 0x08; in esc_postaction()
1395 dev->sc_msg_out_len = 1; in esc_postaction()
1400 for(i=0; i<dev->sc_msg_out_len; i++) in esc_postaction()
1401 *rp->esc_fifo = dev->sc_msg_out[i]; in esc_postaction()
1402 dev->sc_msg_out_len = 0; in esc_postaction()
1412 esciwait(dev); in esc_postaction()
1414 dev->sc_msg_in[dev->sc_msg_in_len++] = *rp->esc_fifo; in esc_postaction()
1417 if (dev->sc_msg_in[0] >= 0x80) ; in esc_postaction()
1418 else if (dev->sc_msg_in[0] >= 0x30) ; in esc_postaction()
1419 else if (((dev->sc_msg_in[0] >= 0x20) && in esc_postaction()
1420 (dev->sc_msg_in_len == 2)) || in esc_postaction()
1421 ((dev->sc_msg_in[0] != 0x01) && in esc_postaction()
1422 (dev->sc_msg_in_len == 1))) { in esc_postaction()
1426 if (dev->sc_msg_in_len >= 2) in esc_postaction()
1427 if ((dev->sc_msg_in[1]+2) == dev->sc_msg_in_len) { in esc_postaction()
1434 esciwait(dev); in esc_postaction()
1436 if ((dev->sc_status & ESC_STAT_PHASE_MASK) != in esc_postaction()
1445 switch(dev->sc_msg_in[0]) { in esc_postaction()
1453 esc_save_pointers(dev); in esc_postaction()
1456 esc_restore_pointers(dev); in esc_postaction()
1484 switch(dev->sc_msg_in[2]) { in esc_postaction()
1487 period = 4*dev->sc_msg_in[3]; in esc_postaction()
1488 offset = dev->sc_msg_in[4]; in esc_postaction()
1502 (dev->sc_clock_freq <= 25)) in esc_postaction()
1506 period = 5*dev->sc_clock_period; in esc_postaction()
1509 dev->sc_clock_period; in esc_postaction()
1530 if ((dev->sc_config_flags & in esc_postaction()
1532 (dev->sc_config_flags & in esc_postaction()
1555 dev->sc_msg_out[0] = 0x07; in esc_postaction()
1556 dev->sc_msg_out_len = 1; in esc_postaction()
1566 dev->sc_msg_out[0] = 0x07; in esc_postaction()
1567 dev->sc_msg_out_len = 1; in esc_postaction()
1573 dev->sc_msg_in_len = 0; in esc_postaction()
1578 dev->sc_status & ESC_STAT_PHASE_MASK); in esc_postaction()
1579 dev->sc_led(dev, 0); in esc_postaction()
1580 esc_scsidone(dev, nexus->xs, -4); in esc_postaction()
1595 escintr(struct esc_softc *dev) in escintr() argument
1600 rp = dev->sc_esc; in escintr()
1602 if (!esc_pretests(dev, rp)) { in escintr()
1604 nexus = dev->sc_cur_nexus; in escintr()
1606 nexus = dev->sc_sel_nexus; in escintr()
1609 if (!esc_midaction(dev, rp, nexus)) in escintr()
1610 esc_postaction(dev, rp, nexus); in escintr()
1620 escicmd(struct esc_softc *dev, struct esc_pending *pendp) in escicmd() argument
1624 nexus = &dev->sc_nexus[pendp->xs->xs_periph->periph_target]; in escicmd()
1626 if (!escselect(dev, pendp, (char *)pendp->xs->cmd, pendp->xs->cmdlen, in escicmd()
1632 esciwait(dev); in escicmd()
1633 escintr(dev); in escicmd()