Lines Matching refs:dev

171 sfas_init_nexus(struct sfas_softc *dev, struct nexus *nexus)  in sfas_init_nexus()  argument
180 nexus->config3 = dev->sc_config3 & ~SFAS_CFG3_FASTSCSI; in sfas_init_nexus()
184 sfasinitialize(struct sfas_softc *dev) in sfasinitialize() argument
188 dev->sc_led_status = 0; in sfasinitialize()
190 TAILQ_INIT(&dev->sc_xs_pending); in sfasinitialize()
191 TAILQ_INIT(&dev->sc_xs_free); in sfasinitialize()
198 TAILQ_INSERT_TAIL(&dev->sc_xs_free, &dev->sc_xs_store[i], in sfasinitialize()
206 if (dev->sc_clock_freq <= 10) in sfasinitialize()
207 dev->sc_clock_conv_fact = 2; in sfasinitialize()
208 if (dev->sc_clock_freq <= 40) in sfasinitialize()
209 dev->sc_clock_conv_fact = 2+((dev->sc_clock_freq-10)/5); in sfasinitialize()
214 dev->sc_config1 = (dev->sc_host_id & SFAS_CFG1_BUS_ID_MASK); in sfasinitialize()
215 dev->sc_config2 = SFAS_CFG2_FEATURES_ENABLE; in sfasinitialize()
216 dev->sc_config3 = (dev->sc_clock_freq > 25 ? SFAS_CFG3_FASTCLK : 0); in sfasinitialize()
222 dev->sc_timeout_val = 1+dev->sc_timeout*dev->sc_clock_freq/ in sfasinitialize()
223 ((7682*dev->sc_clock_conv_fact)/1000); in sfasinitialize()
224 dev->sc_clock_period = 1000/dev->sc_clock_freq; in sfasinitialize()
226 sfasreset(dev, 1 | 2); /* Reset Chip and Bus */ in sfasinitialize()
228 dev->sc_units_disconnected = 0; in sfasinitialize()
229 dev->sc_msg_in_len = 0; in sfasinitialize()
230 dev->sc_msg_out_len = 0; in sfasinitialize()
232 dev->sc_flags = 0; in sfasinitialize()
235 sfas_init_nexus(dev, &dev->sc_nexus[i]); in sfasinitialize()
237 if (dev->sc_ixfer == NULL) in sfasinitialize()
238 dev->sc_ixfer = sfas_ixfer; in sfasinitialize()
243 dev->sc_bump_va = (u_char *)uvm_km_alloc(kernel_map, dev->sc_bump_sz, 0, in sfasinitialize()
245 (void) pmap_extract(pmap_kernel(), (vaddr_t)dev->sc_bump_va, in sfasinitialize()
246 (paddr_t *)&dev->sc_bump_pa); in sfasinitialize()
252 pt_entry_t * const ptep = vtopte((vaddr_t) dev->sc_bump_va); in sfasinitialize()
258 cpu_dcache_wbinv_range((vaddr_t)dev->sc_bump_va, PAGE_SIZE); in sfasinitialize()
260 printf(" dmabuf V0x%08x P0x%08x", (u_int)dev->sc_bump_va, (u_int)dev->sc_bump_pa); in sfasinitialize()
272 struct sfas_softc *dev = device_private(chan->chan_adapter->adapt_dev); in sfas_scsi_request() local
287 if ((flags & XS_CTL_POLL) && (dev->sc_flags & SFAS_ACTIVE)) in sfas_scsi_request()
292 pendp = dev->sc_xs_free.tqh_first; in sfas_scsi_request()
299 TAILQ_REMOVE(&dev->sc_xs_free, pendp, link); in sfas_scsi_request()
305 if ((dev->sc_flags & SFAS_ACTIVE) || in sfas_scsi_request()
306 (dev->sc_nexus[target].flags & SFAS_NF_UNIT_BUSY)) { in sfas_scsi_request()
308 TAILQ_INSERT_TAIL(&dev->sc_xs_pending, pendp, link); in sfas_scsi_request()
311 sfas_donextcmd(dev, pendp); in sfas_scsi_request()
326 sfas_donextcmd(struct sfas_softc *dev, struct sfas_pending *pendp) in sfas_donextcmd() argument
341 while(!sfasselect(dev, pendp, 0, 0, 0, 0, SFAS_SELECT_K)) { in sfas_donextcmd()
347 nexus = dev->sc_cur_nexus; in sfas_donextcmd()
349 sfasiwait(dev); in sfas_donextcmd()
350 sfasintr(dev); in sfas_donextcmd()
356 sfasreset(dev, 0); in sfas_donextcmd()
369 sfasicmd(dev, pendp); in sfas_donextcmd()
370 TAILQ_INSERT_TAIL(&dev->sc_xs_free, pendp, link); in sfas_donextcmd()
373 sfasgo(dev, pendp); in sfas_donextcmd()
378 sfas_scsidone(struct sfas_softc *dev, struct scsipi_xfer *xs, int stat) in sfas_scsidone() argument
405 pendp = dev->sc_xs_pending.tqh_first; in sfas_scsidone()
407 if (!(dev->sc_nexus[pendp->xs->xs_periph->periph_target].flags & in sfas_scsidone()
414 TAILQ_REMOVE(&dev->sc_xs_pending, pendp, link); in sfas_scsidone()
421 sfas_donextcmd(dev, pendp); in sfas_scsidone()
432 sfasreset(struct sfas_softc *dev, int how) in sfasreset() argument
437 rp = dev->sc_fas; in sfasreset()
441 sfas_init_nexus(dev, &dev->sc_nexus[i]); in sfasreset()
447 *rp->sfas_config1 = dev->sc_config1; in sfasreset()
448 *rp->sfas_config2 = dev->sc_config2; in sfasreset()
449 *rp->sfas_config3 = dev->sc_config3; in sfasreset()
450 *rp->sfas_timeout = dev->sc_timeout_val; in sfasreset()
451 *rp->sfas_clkconv = dev->sc_clock_conv_fact & in sfasreset()
457 sfas_init_nexus(dev, &dev->sc_nexus[i]); in sfasreset()
466 dev->sc_status = *rp->sfas_status; in sfasreset()
467 dev->sc_interrupt = *rp->sfas_interrupt; in sfasreset()
472 dev->sc_status = *rp->sfas_status; in sfasreset()
473 dev->sc_interrupt = *rp->sfas_interrupt; in sfasreset()
478 if (dev->sc_config_flags & SFAS_SLOW_START) in sfasreset()
488 sfas_save_pointers(struct sfas_softc *dev) in sfas_save_pointers() argument
492 nx = dev->sc_cur_nexus; in sfas_save_pointers()
494 nx->cur_link = dev->sc_cur_link; in sfas_save_pointers()
495 nx->max_link = dev->sc_max_link; in sfas_save_pointers()
496 nx->buf = dev->sc_buf; in sfas_save_pointers()
497 nx->len = dev->sc_len; in sfas_save_pointers()
498 nx->dma_len = dev->sc_dma_len; in sfas_save_pointers()
499 nx->dma_buf = dev->sc_dma_buf; in sfas_save_pointers()
500 nx->dma_blk_flg = dev->sc_dma_blk_flg; in sfas_save_pointers()
501 nx->dma_blk_len = dev->sc_dma_blk_len; in sfas_save_pointers()
502 nx->dma_blk_ptr = dev->sc_dma_blk_ptr; in sfas_save_pointers()
510 sfas_restore_pointers(struct sfas_softc *dev) in sfas_restore_pointers() argument
514 nx = dev->sc_cur_nexus; in sfas_restore_pointers()
516 dev->sc_cur_link = nx->cur_link; in sfas_restore_pointers()
517 dev->sc_max_link = nx->max_link; in sfas_restore_pointers()
518 dev->sc_buf = nx->buf; in sfas_restore_pointers()
519 dev->sc_len = nx->len; in sfas_restore_pointers()
520 dev->sc_dma_len = nx->dma_len; in sfas_restore_pointers()
521 dev->sc_dma_buf = nx->dma_buf; in sfas_restore_pointers()
522 dev->sc_dma_blk_flg = nx->dma_blk_flg; in sfas_restore_pointers()
523 dev->sc_dma_blk_len = nx->dma_blk_len; in sfas_restore_pointers()
524 dev->sc_dma_blk_ptr = nx->dma_blk_ptr; in sfas_restore_pointers()
525 dev->sc_chain = nx->dma; in sfas_restore_pointers()
526 dev->sc_unit = (nx->lun_unit & 0x0F); in sfas_restore_pointers()
527 dev->sc_lun = (nx->lun_unit & 0xF0) >> 4; in sfas_restore_pointers()
536 sfasiwait(struct sfas_softc *dev) in sfasiwait() argument
544 if (dev->sc_flags & SFAS_DONT_WAIT) { in sfasiwait()
545 dev->sc_flags &= ~SFAS_DONT_WAIT; in sfasiwait()
549 rp = dev->sc_fas; in sfasiwait()
556 dev->sc_status = *rp->sfas_status; in sfasiwait()
557 dev->sc_interrupt = *rp->sfas_interrupt; in sfasiwait()
558 if (dev->sc_interrupt & SFAS_INT_RESELECTED) { in sfasiwait()
559 dev->sc_resel[0] = *rp->sfas_fifo; in sfasiwait()
560 dev->sc_resel[1] = *rp->sfas_fifo; in sfasiwait()
571 struct sfas_softc *dev = v; in sfas_ixfer() local
576 rp = dev->sc_fas; in sfas_ixfer()
577 buf = dev->sc_buf; in sfas_ixfer()
578 len = dev->sc_len; in sfas_ixfer()
584 phase = dev->sc_status & SFAS_STAT_PHASE_MASK; in sfas_ixfer()
587 while(len && ((dev->sc_status & SFAS_STAT_PHASE_MASK) == phase)) in sfas_ixfer()
591 sfasiwait(dev); in sfas_ixfer()
600 sfasiwait(dev); in sfas_ixfer()
604 dev->sc_buf = buf; in sfas_ixfer()
605 dev->sc_len = len; in sfas_ixfer()
614 dev->sc_flags |= SFAS_DONT_WAIT; in sfas_ixfer()
616 sfasintr(dev); in sfas_ixfer()
623 sfas_build_sdtrm(struct sfas_softc *dev, int period, int offset) in sfas_build_sdtrm() argument
625 dev->sc_msg_out[0] = 0x01; in sfas_build_sdtrm()
626 dev->sc_msg_out[1] = 0x03; in sfas_build_sdtrm()
627 dev->sc_msg_out[2] = 0x01; in sfas_build_sdtrm()
628 dev->sc_msg_out[3] = period/4; in sfas_build_sdtrm()
629 dev->sc_msg_out[4] = offset; in sfas_build_sdtrm()
630 dev->sc_msg_out_len= 5; in sfas_build_sdtrm()
637 sfas_select_unit(struct sfas_softc *dev, short target) in sfas_select_unit() argument
648 nexus = &dev->sc_nexus[target]; in sfas_select_unit()
654 if (!(dev->sc_flags & SFAS_ACTIVE) && !dev->sc_sel_nexus) { in sfas_select_unit()
655 dev->sc_flags |= SFAS_ACTIVE; in sfas_select_unit()
657 rp = dev->sc_fas; in sfas_select_unit()
663 *rp->sfas_config1 = dev->sc_config1; in sfas_select_unit()
664 *rp->sfas_timeout = dev->sc_timeout_val; in sfas_select_unit()
671 || (dev->sc_msg_out_len != 0)) in sfas_select_unit()
680 dev->sc_sel_nexus = nexus; in sfas_select_unit()
698 sfas_arbitate_target(struct sfas_softc *dev, int target) in sfas_arbitate_target() argument
707 nexus = &dev->sc_nexus[target]; in sfas_arbitate_target()
724 sfas_setup_nexus(struct sfas_softc *dev, struct nexus *nexus, struct sfas_pending *pendp, unsigned … in sfas_setup_nexus() argument
736 if ((dev->sc_config_flags & (SFAS_NO_SYNCH | SFAS_NO_DMA)) || in sfas_setup_nexus()
740 if ((dev->sc_config_flags & SFAS_NO_RESELECT) || in sfas_setup_nexus()
795 nexus->period = ((dev->sc_clock_freq>25) ? 100 : 200); in sfas_setup_nexus()
800 (dev->sc_config_flags & SFAS_SLOW_CABLE)) in sfas_setup_nexus()
808 if ((mode & SFAS_SELECT_I) || (dev->sc_config_flags & SFAS_NO_DMA)) { in sfas_setup_nexus()
814 nexus->max_link = dev->sc_build_dma_chain(dev, nexus->dma, in sfas_setup_nexus()
825 sfasselect(struct sfas_softc *dev, struct sfas_pending *pendp, unsigned char *cbuf, int clen, unsig… in sfasselect() argument
830 nexus = sfas_arbitate_target(dev, pendp->xs->xs_periph->periph_target); in sfasselect()
835 sfas_setup_nexus(dev, nexus, pendp, cbuf, clen, buf, len, mode); in sfasselect()
838 sfas_select_unit(dev, pendp->xs->xs_periph->periph_target); in sfasselect()
844 sfasgo(struct sfas_softc *dev, struct sfas_pending *pendp) in sfasgo() argument
851 if (sfasselect(dev, pendp, (char *)pendp->xs->cmd, pendp->xs->cmdlen, in sfasgo()
859 TAILQ_INSERT_TAIL(&dev->sc_xs_free, pendp, link); in sfasgo()
869 TAILQ_INSERT_HEAD(&dev->sc_xs_pending, pendp, link); in sfasgo()
881 sfas_pretests(struct sfas_softc *dev, sfas_regmap_p rp) in sfas_pretests() argument
886 if (dev->sc_interrupt & SFAS_INT_SCSI_RESET_DETECTED) { in sfas_pretests()
893 if (dev->sc_nexus[i].xs) in sfas_pretests()
894 sfas_scsidone(dev, dev->sc_nexus[i].xs, -2); in sfas_pretests()
896 sfas_init_nexus(dev, &dev->sc_nexus[i]); in sfas_pretests()
902 if (dev->sc_interrupt & SFAS_INT_ILLEGAL_COMMAND) { in sfas_pretests()
914 if (dev->sc_interrupt & SFAS_INT_RESELECTED) { in sfas_pretests()
918 dev->sc_flags |= SFAS_ACTIVE; in sfas_pretests()
919 if (dev->sc_sel_nexus) { in sfas_pretests()
920 dev->sc_sel_nexus->flags |= SFAS_NF_SELECT_ME; in sfas_pretests()
921 dev->sc_sel_nexus = 0; in sfas_pretests()
925 if (dev->sc_units_disconnected) { in sfas_pretests()
928 dev->sc_resel[0] &= ~(1<<dev->sc_host_id); in sfas_pretests()
931 if (dev->sc_resel[0] & (1<<i)) in sfas_pretests()
937 if (dev->sc_nexus[i].state == SFAS_NS_DISCONNECTED) { in sfas_pretests()
943 dev->sc_cur_nexus = &dev->sc_nexus[i]; in sfas_pretests()
944 nexus = dev->sc_cur_nexus; in sfas_pretests()
952 dev->sc_units_disconnected--; in sfas_pretests()
953 dev->sc_msg_in_len= 0; in sfas_pretests()
956 sfas_restore_pointers(dev); in sfas_pretests()
968 dev->sc_resel[0], dev->sc_resel[1], in sfas_pretests()
969 dev->sc_units_disconnected); in sfas_pretests()
981 sfas_midaction(struct sfas_softc *dev, sfas_regmap_p rp, struct nexus *nexus) in sfas_midaction() argument
986 if (dev->sc_interrupt & SFAS_INT_DISCONNECT) { in sfas_midaction()
988 dev->sc_cur_nexus = 0; in sfas_midaction()
991 dev->sc_flags &= ~SFAS_ACTIVE; in sfas_midaction()
997 dev->sc_sel_nexus = 0; in sfas_midaction()
1004 nexus->xs->resid = dev->sc_len; in sfas_midaction()
1013 nexus->xs->resid = dev->sc_len; in sfas_midaction()
1017 dev->sc_led(dev, 0); in sfas_midaction()
1027 dev->sc_units_disconnected++; in sfas_midaction()
1035 dev->sc_led(dev, 0); in sfas_midaction()
1036 sfas_init_nexus(dev, nexus); in sfas_midaction()
1047 dev->sc_status & SFAS_STAT_PHASE_MASK, in sfas_midaction()
1050 nexus->xs->resid = dev->sc_len; in sfas_midaction()
1056 dev->sc_led(dev, 0); in sfas_midaction()
1064 if (dev->sc_units_disconnected && in sfas_midaction()
1065 !(dev->sc_flags & SFAS_ACTIVE)) in sfas_midaction()
1072 if (dev->sc_nexus[i].flags & (SFAS_NF_SELECT_ME | SFAS_NF_RETRY_SELECT)) in sfas_midaction()
1073 if (sfas_select_unit(dev, i) == 2) in sfas_midaction()
1078 sfas_scsidone(dev, nexus->xs, nexus->status); in sfas_midaction()
1085 dev->sc_cur_nexus = nexus; in sfas_midaction()
1086 dev->sc_sel_nexus = 0; in sfas_midaction()
1098 sfas_restore_pointers(dev); in sfas_midaction()
1101 dev->sc_msg_in[0] = 0xFF; in sfas_midaction()
1102 dev->sc_msg_in_len= 0; in sfas_midaction()
1104 dev->sc_led(dev, 1); in sfas_midaction()
1111 if (dev->sc_dma_len) in sfas_midaction()
1112 if (dev->sc_cur_link < dev->sc_max_link) { in sfas_midaction()
1117 left = dev->sc_setup_dma(dev, 0, 0, SFAS_DMA_CLEAR); in sfas_midaction()
1118 len = dev->sc_dma_len; in sfas_midaction()
1127 if (dev->sc_dma_buf == dev->sc_bump_pa) in sfas_midaction()
1131 dev->sc_bump_va[len-(left--)] = *rp->sfas_fifo; in sfas_midaction()
1133 memcpy(dev->sc_buf, dev->sc_bump_va, len-left); in sfas_midaction()
1145 dev->sc_len -= len-left; in sfas_midaction()
1146 dev->sc_buf += len-left; in sfas_midaction()
1148 dev->sc_dma_buf = (char *)dev->sc_dma_buf + len-left; in sfas_midaction()
1149 dev->sc_dma_len = left; in sfas_midaction()
1151 dev->sc_dma_blk_ptr = (char *)dev->sc_dma_blk_ptr + in sfas_midaction()
1153 dev->sc_dma_blk_len -= len-left; in sfas_midaction()
1159 if (!dev->sc_dma_blk_len) in sfas_midaction()
1160 dev->sc_cur_link++; in sfas_midaction()
1181 dev->sc_msg_in[0] = msg; in sfas_midaction()
1182 dev->sc_msg_in_len = 1; in sfas_midaction()
1198 sfas_postaction(struct sfas_softc *dev, sfas_regmap_p rp, struct nexus *nexus) in sfas_postaction() argument
1206 switch(dev->sc_status & SFAS_STAT_PHASE_MASK) { in sfas_postaction()
1209 if ((dev->sc_status & SFAS_STAT_PHASE_MASK) == in sfas_postaction()
1217 dev->sc_setup_dma(dev, 0, 0, SFAS_DMA_CLEAR); in sfas_postaction()
1218 if (dev->sc_cur_link < dev->sc_max_link) { in sfas_postaction()
1219 if (!dev->sc_dma_blk_len) { in sfas_postaction()
1220 dev->sc_dma_blk_ptr = dev->sc_chain[dev->sc_cur_link].ptr; in sfas_postaction()
1221 dev->sc_dma_blk_len = dev->sc_chain[dev->sc_cur_link].len; in sfas_postaction()
1222 dev->sc_dma_blk_flg = dev->sc_chain[dev->sc_cur_link].flg; in sfas_postaction()
1226 if (dev->sc_dma_blk_flg == SFAS_CHAIN_PRG) { in sfas_postaction()
1227 dev->sc_ixfer(dev, nexus->xs->xs_control & XS_CTL_POLL); in sfas_postaction()
1228 dev->sc_cur_link++; in sfas_postaction()
1229 dev->sc_dma_len = 0; in sfas_postaction()
1232 else if (dev->sc_dma_blk_flg == SFAS_CHAIN_BUMP) in sfas_postaction()
1233 len = dev->sc_dma_blk_len; in sfas_postaction()
1235 len = dev->sc_need_bump(dev, dev->sc_dma_blk_ptr, in sfas_postaction()
1236 dev->sc_dma_blk_len); in sfas_postaction()
1243 dev->sc_dma_buf = dev->sc_bump_pa; in sfas_postaction()
1244 dev->sc_dma_len = len; in sfas_postaction()
1247 memcpy(dev->sc_bump_va, dev->sc_buf, dev->sc_dma_len); in sfas_postaction()
1249 dev->sc_dma_buf = dev->sc_dma_blk_ptr; in sfas_postaction()
1250 dev->sc_dma_len = dev->sc_dma_blk_len; in sfas_postaction()
1254 dev->sc_setup_dma(dev, dev->sc_dma_buf, dev->sc_dma_len, in sfas_postaction()
1306 sfas_build_sdtrm(dev, nexus->period, nexus->offset); in sfas_postaction()
1312 dev->sc_msg_out[0] = 0x0C; in sfas_postaction()
1313 dev->sc_msg_out_len = 1; in sfas_postaction()
1316 } else if (dev->sc_msg_out_len == 0) { in sfas_postaction()
1319 dev->sc_msg_out[0] = 0x08; in sfas_postaction()
1320 dev->sc_msg_out_len = 1; in sfas_postaction()
1325 for(i=0; i<dev->sc_msg_out_len; i++) in sfas_postaction()
1326 *rp->sfas_fifo = dev->sc_msg_out[i]; in sfas_postaction()
1327 dev->sc_msg_out_len = 0; in sfas_postaction()
1337 sfasiwait(dev); in sfas_postaction()
1339 dev->sc_msg_in[dev->sc_msg_in_len++] = *rp->sfas_fifo; in sfas_postaction()
1342 if (dev->sc_msg_in[0] >= 0x80) ; in sfas_postaction()
1343 else if (dev->sc_msg_in[0] >= 0x30) ; in sfas_postaction()
1344 else if (((dev->sc_msg_in[0] >= 0x20) && in sfas_postaction()
1345 (dev->sc_msg_in_len == 2)) || in sfas_postaction()
1346 ((dev->sc_msg_in[0] != 0x01) && in sfas_postaction()
1347 (dev->sc_msg_in_len == 1))) { in sfas_postaction()
1351 if (dev->sc_msg_in_len >= 2) in sfas_postaction()
1352 if ((dev->sc_msg_in[1]+2) == dev->sc_msg_in_len) { in sfas_postaction()
1359 sfasiwait(dev); in sfas_postaction()
1361 if ((dev->sc_status & SFAS_STAT_PHASE_MASK) != in sfas_postaction()
1370 switch(dev->sc_msg_in[0]) { in sfas_postaction()
1378 sfas_save_pointers(dev); in sfas_postaction()
1381 sfas_restore_pointers(dev); in sfas_postaction()
1409 switch(dev->sc_msg_in[2]) { in sfas_postaction()
1412 period = 4*dev->sc_msg_in[3]; in sfas_postaction()
1413 offset = dev->sc_msg_in[4]; in sfas_postaction()
1427 (dev->sc_clock_freq <= 25)) in sfas_postaction()
1431 period = 5*dev->sc_clock_period; in sfas_postaction()
1434 dev->sc_clock_period; in sfas_postaction()
1455 if ((dev->sc_config_flags & in sfas_postaction()
1457 (dev->sc_config_flags & in sfas_postaction()
1480 dev->sc_msg_out[0] = 0x07; in sfas_postaction()
1481 dev->sc_msg_out_len = 1; in sfas_postaction()
1491 dev->sc_msg_out[0] = 0x07; in sfas_postaction()
1492 dev->sc_msg_out_len = 1; in sfas_postaction()
1498 dev->sc_msg_in_len = 0; in sfas_postaction()
1503 dev->sc_status & SFAS_STAT_PHASE_MASK); in sfas_postaction()
1504 dev->sc_led(dev, 0); in sfas_postaction()
1505 sfas_scsidone(dev, nexus->xs, -4); in sfas_postaction()
1520 sfasintr(struct sfas_softc *dev) in sfasintr() argument
1525 rp = dev->sc_fas; in sfasintr()
1527 if (!sfas_pretests(dev, rp)) { in sfasintr()
1529 nexus = dev->sc_cur_nexus; in sfasintr()
1531 nexus = dev->sc_sel_nexus; in sfasintr()
1534 if (!sfas_midaction(dev, rp, nexus)) in sfasintr()
1535 sfas_postaction(dev, rp, nexus); in sfasintr()
1545 sfasicmd(struct sfas_softc *dev, struct sfas_pending *pendp) in sfasicmd() argument
1549 nexus = &dev->sc_nexus[pendp->xs->xs_periph->periph_target]; in sfasicmd()
1551 if (!sfasselect(dev, pendp, (char *)pendp->xs->cmd, pendp->xs->cmdlen, in sfasicmd()
1557 sfasiwait(dev); in sfasicmd()
1558 sfasintr(dev); in sfasicmd()