ecb 339 dev/eisa/aha1742.c ahb_send_mbox(sc, opcode, ecb) ecb 342 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 360 dev/eisa/aha1742.c bus_space_write_4(iot, ioh, MBOXOUT0, KVTOPHYS(ecb)); ecb 361 dev/eisa/aha1742.c bus_space_write_1(iot, ioh, ATTN, opcode | ecb->xs->sc_link->target); ecb 560 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 591 dev/eisa/aha1742.c ecb = ahb_ecb_phys_kv(sc, mboxval); ecb 592 dev/eisa/aha1742.c if (!ecb) { ecb 600 dev/eisa/aha1742.c ecb->flags |= ECB_IMMED_FAIL; ecb 602 dev/eisa/aha1742.c ecb = sc->immed_ecb; ecb 609 dev/eisa/aha1742.c ecb = 0; ecb 612 dev/eisa/aha1742.c if (ecb) { ecb 615 dev/eisa/aha1742.c show_scsi_cmd(ecb->xs); ecb 616 dev/eisa/aha1742.c if ((ahb_debug & AHB_SHOWECBS) && ecb) ecb 617 dev/eisa/aha1742.c printf("<int ecb(%x)>", ecb); ecb 619 dev/eisa/aha1742.c timeout_del(&ecb->xs->stimeout); ecb 620 dev/eisa/aha1742.c ahb_done(sc, ecb); ecb 634 dev/eisa/aha1742.c ahb_done(sc, ecb) ecb 636 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 638 dev/eisa/aha1742.c struct ahb_ecb_status *stat = &ecb->ecb_status; ecb 640 dev/eisa/aha1742.c struct scsi_xfer *xs = ecb->xs; ecb 647 dev/eisa/aha1742.c if (ecb->flags & ECB_IMMED) { ecb 648 dev/eisa/aha1742.c if (ecb->flags & ECB_IMMED_FAIL) ecb 674 dev/eisa/aha1742.c s1 = &ecb->ecb_sense; ecb 692 dev/eisa/aha1742.c ahb_free_ecb(sc, ecb, xs->flags); ecb 701 dev/eisa/aha1742.c ahb_free_ecb(sc, ecb, flags) ecb 703 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 710 dev/eisa/aha1742.c ecb->flags = ECB_FREE; ecb 711 dev/eisa/aha1742.c TAILQ_INSERT_HEAD(&sc->free_ecb, ecb, chain); ecb 717 dev/eisa/aha1742.c if (TAILQ_NEXT(ecb, chain) == NULL) ecb 726 dev/eisa/aha1742.c ahb_init_ecb(sc, ecb) ecb 728 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 732 dev/eisa/aha1742.c bzero(ecb, sizeof(struct ahb_ecb)); ecb 737 dev/eisa/aha1742.c ecb->hashkey = KVTOPHYS(ecb); ecb 738 dev/eisa/aha1742.c hashnum = ECB_HASH(ecb->hashkey); ecb 739 dev/eisa/aha1742.c ecb->nexthash = sc->ecbhash[hashnum]; ecb 740 dev/eisa/aha1742.c sc->ecbhash[hashnum] = ecb; ecb 746 dev/eisa/aha1742.c ahb_reset_ecb(sc, ecb) ecb 748 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 764 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 774 dev/eisa/aha1742.c ecb = TAILQ_FIRST(&sc->free_ecb); ecb 775 dev/eisa/aha1742.c if (ecb) { ecb 776 dev/eisa/aha1742.c TAILQ_REMOVE(&sc->free_ecb, ecb, chain); ecb 780 dev/eisa/aha1742.c ecb = (struct ahb_ecb *) malloc(sizeof(struct ahb_ecb), ecb 782 dev/eisa/aha1742.c if (ecb) { ecb 783 dev/eisa/aha1742.c ahb_init_ecb(sc, ecb); ecb 797 dev/eisa/aha1742.c ahb_reset_ecb(sc, ecb); ecb 798 dev/eisa/aha1742.c ecb->flags = ECB_ACTIVE; ecb 802 dev/eisa/aha1742.c return ecb; ecb 814 dev/eisa/aha1742.c struct ahb_ecb *ecb = sc->ecbhash[hashnum]; ecb 816 dev/eisa/aha1742.c while (ecb) { ecb 817 dev/eisa/aha1742.c if (ecb->hashkey == ecb_phys) ecb 819 dev/eisa/aha1742.c ecb = ecb->nexthash; ecb 821 dev/eisa/aha1742.c return ecb; ecb 947 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 968 dev/eisa/aha1742.c if ((ecb = ahb_get_ecb(sc, flags)) == NULL) { ecb 971 dev/eisa/aha1742.c ecb->xs = xs; ecb 972 dev/eisa/aha1742.c timeout_set(&ecb->xs->stimeout, ahb_timeout, ecb); ecb 981 dev/eisa/aha1742.c ecb->flags |= ECB_IMMED; ecb 984 dev/eisa/aha1742.c sc->immed_ecb = ecb; ecb 992 dev/eisa/aha1742.c timeout_add(&ecb->xs->stimeout, (xs->timeout * hz) / 1000); ecb 1002 dev/eisa/aha1742.c ahb_timeout(ecb); ecb 1009 dev/eisa/aha1742.c ecb->opcode = ECB_SCSI_OP; ecb 1010 dev/eisa/aha1742.c ecb->opt1 = ECB_SES | ECB_DSB | ECB_ARS; ecb 1012 dev/eisa/aha1742.c ecb->opt1 |= ECB_S_G; ecb 1013 dev/eisa/aha1742.c ecb->opt2 = sc_link->lun | ECB_NRB; ecb 1014 dev/eisa/aha1742.c ecb->scsi_cmd_length = xs->cmdlen; ecb 1015 dev/eisa/aha1742.c ecb->sense_ptr = KVTOPHYS(&ecb->ecb_sense); ecb 1016 dev/eisa/aha1742.c ecb->req_sense_length = sizeof(ecb->ecb_sense); ecb 1017 dev/eisa/aha1742.c ecb->status = KVTOPHYS(&ecb->ecb_status); ecb 1018 dev/eisa/aha1742.c ecb->ecb_status.host_stat = 0x00; ecb 1019 dev/eisa/aha1742.c ecb->ecb_status.target_stat = 0x00; ecb 1022 dev/eisa/aha1742.c ecb->data_addr = KVTOPHYS(ecb->ahb_dma); ecb 1023 dev/eisa/aha1742.c sg = ecb->ahb_dma; ecb 1095 dev/eisa/aha1742.c ecb->data_length = seg * sizeof(struct ahb_dma_seg); ecb 1104 dev/eisa/aha1742.c ahb_free_ecb(sc, ecb, flags); ecb 1108 dev/eisa/aha1742.c ecb->data_addr = (physaddr)0; ecb 1109 dev/eisa/aha1742.c ecb->data_length = 0; ecb 1111 dev/eisa/aha1742.c ecb->link_addr = (physaddr)0; ecb 1117 dev/eisa/aha1742.c bcopy(xs->cmd, &ecb->scsi_cmd, ecb->scsi_cmd_length); ecb 1121 dev/eisa/aha1742.c ahb_send_mbox(sc, OP_START_ECB, ecb); ecb 1128 dev/eisa/aha1742.c timeout_add(&ecb->xs->stimeout, (xs->timeout * hz) / 1000); ecb 1138 dev/eisa/aha1742.c ahb_timeout(ecb); ecb 1140 dev/eisa/aha1742.c ahb_timeout(ecb); ecb 1149 dev/eisa/aha1742.c struct ahb_ecb *ecb = arg; ecb 1150 dev/eisa/aha1742.c struct scsi_xfer *xs = ecb->xs; ecb 1160 dev/eisa/aha1742.c if (ecb->flags & ECB_IMMED) { ecb 1162 dev/eisa/aha1742.c ecb->xs->retries = 0; /* I MEAN IT ! */ ecb 1163 dev/eisa/aha1742.c ecb->flags |= ECB_IMMED_FAIL; ecb 1164 dev/eisa/aha1742.c ahb_done(sc, ecb); ecb 1174 dev/eisa/aha1742.c if (ecb->flags == ECB_ABORTED) { ecb 1177 dev/eisa/aha1742.c ecb->xs->retries = 0; /* I MEAN IT ! */ ecb 1178 dev/eisa/aha1742.c ahb_done(sc, ecb); ecb 1182 dev/eisa/aha1742.c ecb->xs->error = XS_TIMEOUT; ecb 1183 dev/eisa/aha1742.c ecb->flags = ECB_ABORTED; ecb 1184 dev/eisa/aha1742.c ahb_send_mbox(sc, OP_ABORT_ECB, ecb); ecb 1187 dev/eisa/aha1742.c timeout_add(&ecb->xs->stimeout, 2 * hz); ecb 1195 dev/eisa/aha1742.c ahb_print_ecb(ecb) ecb 1196 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 1199 dev/eisa/aha1742.c ecb, ecb->opcode, ecb->cdblen, ecb->senselen); ecb 1201 dev/eisa/aha1742.c ecb->datalen, ecb->ecb_status.host_stat, ecb 1202 dev/eisa/aha1742.c ecb->ecb_status.target_stat, ecb->flags); ecb 1203 dev/eisa/aha1742.c show_scsi_cmd(ecb->xs); ecb 1210 dev/eisa/aha1742.c struct ahb_ecb *ecb; ecb 1214 dev/eisa/aha1742.c ecb = sc->ecb_hash_list[i]; ecb 1215 dev/eisa/aha1742.c while (ecb) { ecb 1216 dev/eisa/aha1742.c if (ecb->flags != ECB_FREE) ecb 1217 dev/eisa/aha1742.c ahb_print_ecb(ecb); ecb 1218 dev/eisa/aha1742.c ecb = ecb->hash_list; ecb 383 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 409 dev/ic/ncr53c9x.c if ((ecb = sc->sc_nexus) != NULL) { ecb 410 dev/ic/ncr53c9x.c ecb->xs->error = XS_TIMEOUT; ecb 411 dev/ic/ncr53c9x.c ncr53c9x_done(sc, ecb); ecb 415 dev/ic/ncr53c9x.c if ((ecb = li->untagged)) { ecb 423 dev/ic/ncr53c9x.c ecb->xs->error = XS_TIMEOUT; ecb 424 dev/ic/ncr53c9x.c ncr53c9x_done(sc, ecb); ecb 427 dev/ic/ncr53c9x.c if ((ecb = li->queued[i])) { ecb 429 dev/ic/ncr53c9x.c ecb->xs->error = XS_TIMEOUT; ecb 430 dev/ic/ncr53c9x.c ncr53c9x_done(sc, ecb); ecb 593 dev/ic/ncr53c9x.c ncr53c9x_select(sc, ecb) ecb 595 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 597 dev/ic/ncr53c9x.c struct scsi_link *sc_link = ecb->xs->sc_link; ecb 608 dev/ic/ncr53c9x.c target, lun, ecb->cmd.cmd.opcode, ecb->tag[0], ecb->tag[1])); ecb 616 dev/ic/ncr53c9x.c if ((ecb->xs->flags & SCSI_POLL) == 0) { ecb 617 dev/ic/ncr53c9x.c int timeout = ecb->timeout; ecb 623 dev/ic/ncr53c9x.c timeout_add(&ecb->to, timeout); ecb 638 dev/ic/ncr53c9x.c if ((ecb->flags & ECB_SENSE) != 0) { ecb 646 dev/ic/ncr53c9x.c dmasize = clen = ecb->clen; ecb 648 dev/ic/ncr53c9x.c sc->sc_cmdp = (caddr_t)&ecb->cmd.cmd; ecb 662 dev/ic/ncr53c9x.c ncr53c9x_wrfifo(sc, (u_char *)&ecb->cmd.cmd, ecb->clen); ecb 669 dev/ic/ncr53c9x.c if (ecb->tag[0] != 0) { ecb 684 dev/ic/ncr53c9x.c cmd = (u_char *)&ecb->cmd.cmd; ecb 688 dev/ic/ncr53c9x.c clen = ecb->clen + 3; ecb 691 dev/ic/ncr53c9x.c cmd[1] = ecb->tag[0]; /* msg[1] */ ecb 692 dev/ic/ncr53c9x.c cmd[2] = ecb->tag[1]; /* msg[2] */ ecb 695 dev/ic/ncr53c9x.c clen = ecb->clen + 1; ecb 748 dev/ic/ncr53c9x.c ncr53c9x_free_ecb(sc, ecb, flags) ecb 750 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 756 dev/ic/ncr53c9x.c ecb->flags = 0; ecb 757 dev/ic/ncr53c9x.c pool_put(&ecb_pool, (void *)ecb); ecb 766 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 773 dev/ic/ncr53c9x.c ecb = (struct ncr53c9x_ecb *)pool_get(&ecb_pool, wait); ecb 775 dev/ic/ncr53c9x.c if (ecb == NULL) ecb 777 dev/ic/ncr53c9x.c bzero(ecb, sizeof(*ecb)); ecb 778 dev/ic/ncr53c9x.c timeout_set(&ecb->to, ncr53c9x_timeout, ecb); ecb 779 dev/ic/ncr53c9x.c ecb->flags |= ECB_ALLOC; ecb 780 dev/ic/ncr53c9x.c return (ecb); ecb 798 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 826 dev/ic/ncr53c9x.c if ((ecb = ncr53c9x_get_ecb(sc, flags)) == NULL) ecb 830 dev/ic/ncr53c9x.c ecb->xs = xs; ecb 831 dev/ic/ncr53c9x.c ecb->timeout = xs->timeout; ecb 834 dev/ic/ncr53c9x.c ecb->flags |= ECB_RESET; ecb 835 dev/ic/ncr53c9x.c ecb->clen = 0; ecb 836 dev/ic/ncr53c9x.c ecb->dleft = 0; ecb 838 dev/ic/ncr53c9x.c bcopy(xs->cmd, &ecb->cmd.cmd, xs->cmdlen); ecb 839 dev/ic/ncr53c9x.c ecb->clen = xs->cmdlen; ecb 840 dev/ic/ncr53c9x.c ecb->daddr = xs->data; ecb 841 dev/ic/ncr53c9x.c ecb->dleft = xs->datalen; ecb 843 dev/ic/ncr53c9x.c ecb->stat = 0; ecb 847 dev/ic/ncr53c9x.c TAILQ_INSERT_TAIL(&sc->ready_list, ecb, chain); ecb 848 dev/ic/ncr53c9x.c ecb->flags |= ECB_READY; ecb 858 dev/ic/ncr53c9x.c if (ncr53c9x_poll(sc, xs, ecb->timeout)) { ecb 859 dev/ic/ncr53c9x.c ncr53c9x_timeout(ecb); ecb 860 dev/ic/ncr53c9x.c if (ncr53c9x_poll(sc, xs, ecb->timeout)) ecb 861 dev/ic/ncr53c9x.c ncr53c9x_timeout(ecb); ecb 912 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 927 dev/ic/ncr53c9x.c TAILQ_FOREACH(ecb, &sc->ready_list, chain) { ecb 928 dev/ic/ncr53c9x.c sc_link = ecb->xs->sc_link; ecb 937 dev/ic/ncr53c9x.c else if ((ecb->flags & ECB_SENSE) != 0) ecb 939 dev/ic/ncr53c9x.c else if (ecb->xs->flags & SCSI_URGENT) ecb 945 dev/ic/ncr53c9x.c if (ecb->xs->flags & SCSI_POLL) ecb 967 dev/ic/ncr53c9x.c li->untagged = ecb; ecb 973 dev/ic/ncr53c9x.c ecb = li->untagged; ecb 974 dev/ic/ncr53c9x.c sc_link = ecb->xs->sc_link; ecb 982 dev/ic/ncr53c9x.c ecb->tag[0] = tag; ecb 1013 dev/ic/ncr53c9x.c li->queued[i] = ecb; ecb 1014 dev/ic/ncr53c9x.c ecb->tag[1] = i; ecb 1019 dev/ic/ncr53c9x.c TAILQ_REMOVE(&sc->ready_list, ecb, chain); ecb 1020 dev/ic/ncr53c9x.c ecb->flags &= ~ECB_READY; ecb 1021 dev/ic/ncr53c9x.c sc->sc_nexus = ecb; ecb 1022 dev/ic/ncr53c9x.c ncr53c9x_select(sc, ecb); ecb 1026 dev/ic/ncr53c9x.c TAILQ_REMOVE(&sc->ready_list, ecb, chain); ecb 1027 dev/ic/ncr53c9x.c ecb->flags &= ~ECB_READY; ecb 1028 dev/ic/ncr53c9x.c sc->sc_nexus = ecb; ecb 1029 dev/ic/ncr53c9x.c ncr53c9x_select(sc, ecb); ecb 1039 dev/ic/ncr53c9x.c ncr53c9x_sense(sc, ecb) ecb 1041 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 1043 dev/ic/ncr53c9x.c struct scsi_xfer *xs = ecb->xs; ecb 1046 dev/ic/ncr53c9x.c struct scsi_sense *ss = (void *)&ecb->cmd.cmd; ecb 1056 dev/ic/ncr53c9x.c ecb->clen = sizeof(*ss); ecb 1057 dev/ic/ncr53c9x.c ecb->daddr = (char *)&xs->sense; ecb 1058 dev/ic/ncr53c9x.c ecb->dleft = sizeof(struct scsi_sense_data); ecb 1059 dev/ic/ncr53c9x.c ecb->flags |= ECB_SENSE; ecb 1060 dev/ic/ncr53c9x.c ecb->timeout = NCR_SENSE_TIMEOUT; ecb 1064 dev/ic/ncr53c9x.c ncr53c9x_dequeue(sc, ecb); ecb 1065 dev/ic/ncr53c9x.c li->untagged = ecb; ecb 1067 dev/ic/ncr53c9x.c if (ecb == sc->sc_nexus) { ecb 1068 dev/ic/ncr53c9x.c ncr53c9x_select(sc, ecb); ecb 1070 dev/ic/ncr53c9x.c TAILQ_INSERT_HEAD(&sc->ready_list, ecb, chain); ecb 1071 dev/ic/ncr53c9x.c ecb->flags |= ECB_READY; ecb 1081 dev/ic/ncr53c9x.c ncr53c9x_done(sc, ecb) ecb 1083 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 1085 dev/ic/ncr53c9x.c struct scsi_xfer *xs = ecb->xs; ecb 1093 dev/ic/ncr53c9x.c timeout_del(&ecb->to); ecb 1095 dev/ic/ncr53c9x.c if (ecb->stat == SCSI_QUEUE_FULL) { ecb 1114 dev/ic/ncr53c9x.c xs->status = ecb->stat; ecb 1115 dev/ic/ncr53c9x.c if ((ecb->flags & ECB_ABORT) != 0) { ecb 1117 dev/ic/ncr53c9x.c } else if ((ecb->flags & ECB_SENSE) != 0) { ecb 1119 dev/ic/ncr53c9x.c } else if ((ecb->stat & ST_MASK) == SCSI_CHECK) { ecb 1121 dev/ic/ncr53c9x.c xs->resid = ecb->dleft; ecb 1122 dev/ic/ncr53c9x.c ncr53c9x_sense(sc, ecb); ecb 1125 dev/ic/ncr53c9x.c xs->resid = ecb->dleft; ecb 1145 dev/ic/ncr53c9x.c ncr53c9x_dequeue(sc, ecb); ecb 1146 dev/ic/ncr53c9x.c if (ecb == sc->sc_nexus) { ecb 1164 dev/ic/ncr53c9x.c ncr53c9x_free_ecb(sc, ecb, xs->flags); ecb 1170 dev/ic/ncr53c9x.c ncr53c9x_dequeue(sc, ecb) ecb 1172 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 1175 dev/ic/ncr53c9x.c &sc->sc_tinfo[ecb->xs->sc_link->target]; ecb 1177 dev/ic/ncr53c9x.c int64_t lun = ecb->xs->sc_link->lun; ecb 1183 dev/ic/ncr53c9x.c (long long)lun, ecb); ecb 1185 dev/ic/ncr53c9x.c if (li->untagged == ecb) { ecb 1189 dev/ic/ncr53c9x.c if (ecb->tag[0] && li->queued[ecb->tag[1]]) { ecb 1191 dev/ic/ncr53c9x.c if (li->queued[ecb->tag[1]] && (li->queued[ecb->tag[1]] != ecb)) ecb 1193 dev/ic/ncr53c9x.c "instead of ecb %p", ecb->tag[1], ecb 1195 dev/ic/ncr53c9x.c li->queued[ecb->tag[1]], ecb); ecb 1197 dev/ic/ncr53c9x.c li->queued[ecb->tag[1]] = NULL; ecb 1201 dev/ic/ncr53c9x.c if (ecb->flags & ECB_READY) { ecb 1202 dev/ic/ncr53c9x.c ecb->flags &= ~ECB_READY; ecb 1203 dev/ic/ncr53c9x.c TAILQ_REMOVE(&sc->ready_list, ecb, chain); ecb 1330 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb = NULL; ecb 1370 dev/ic/ncr53c9x.c ecb = li->untagged; ecb 1375 dev/ic/ncr53c9x.c } else if (tagtype) ecb = li->queued[tagid]; ecb 1377 dev/ic/ncr53c9x.c if (ecb == NULL) { ecb 1385 dev/ic/ncr53c9x.c sc->sc_nexus = ecb; ecb 1388 dev/ic/ncr53c9x.c if (ecb->flags & ECB_RESET) ecb 1390 dev/ic/ncr53c9x.c else if (ecb->flags & ECB_ABORT) ecb 1394 dev/ic/ncr53c9x.c sc->sc_dp = ecb->daddr; ecb 1395 dev/ic/ncr53c9x.c sc->sc_dleft = ecb->dleft; ecb 1513 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 1519 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 1520 dev/ic/ncr53c9x.c ti = &sc->sc_tinfo[ecb->xs->sc_link->target]; ecb 1526 dev/ic/ncr53c9x.c sc_print_addr(ecb->xs->sc_link); ecb 1531 dev/ic/ncr53c9x.c ecb->dleft = (ecb->flags & ECB_TENTATIVE_DONE) ecb 1534 dev/ic/ncr53c9x.c if ((ecb->flags & ECB_SENSE) == 0) ecb 1535 dev/ic/ncr53c9x.c ecb->xs->resid = ecb->dleft; ecb 1549 dev/ic/ncr53c9x.c sc->sc_dev.dv_xname, ecb->xs->sc_link->target); ecb 1555 dev/ic/ncr53c9x.c lun = ecb->xs->sc_link->lun; ecb 1557 dev/ic/ncr53c9x.c if (ecb->tag[0] && ecb 1558 dev/ic/ncr53c9x.c li->queued[ecb->tag[1]] != NULL) { ecb 1559 dev/ic/ncr53c9x.c li->queued[ecb->tag[1]] = NULL; ecb 1562 dev/ic/ncr53c9x.c ecb->tag[0] = ecb->tag[1] = 0; ecb 1563 dev/ic/ncr53c9x.c li->untagged = ecb; ecb 1569 dev/ic/ncr53c9x.c sc->sc_dev.dv_xname, ecb->xs->sc_link->target); ecb 1577 dev/ic/ncr53c9x.c sc->sc_dev.dv_xname, ecb->xs->sc_link->target); ecb 1609 dev/ic/ncr53c9x.c ecb->flags |= ECB_TENTATIVE_DONE; ecb 1615 dev/ic/ncr53c9x.c ecb->daddr = sc->sc_dp; ecb 1616 dev/ic/ncr53c9x.c ecb->dleft = sc->sc_dleft; ecb 1621 dev/ic/ncr53c9x.c sc->sc_dp = ecb->daddr; ecb 1622 dev/ic/ncr53c9x.c sc->sc_dleft = ecb->dleft; ecb 1640 dev/ic/ncr53c9x.c sc_print_addr(ecb->xs->sc_link); ecb 1665 dev/ic/ncr53c9x.c sc_print_addr(ecb->xs->sc_link); ecb 1704 dev/ic/ncr53c9x.c sc_print_addr(ecb->xs->sc_link); ecb 1713 dev/ic/ncr53c9x.c sc_print_addr(ecb->xs->sc_link); ecb 1785 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 1824 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 1825 dev/ic/ncr53c9x.c ti = &sc->sc_tinfo[ecb->xs->sc_link->target]; ecb 1838 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 1839 dev/ic/ncr53c9x.c ti = &sc->sc_tinfo[ecb->xs->sc_link->target]; ecb 1851 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 1853 dev/ic/ncr53c9x.c MSG_IDENTIFY(ecb->xs->sc_link->lun, 0); ecb 1860 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 1861 dev/ic/ncr53c9x.c sc->sc_omess[0] = ecb->tag[0]; ecb 1862 dev/ic/ncr53c9x.c sc->sc_omess[1] = ecb->tag[1]; ecb 1868 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 1869 dev/ic/ncr53c9x.c ti = &sc->sc_tinfo[ecb->xs->sc_link->target]; ecb 1953 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 2009 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 2023 dev/ic/ncr53c9x.c ecb->xs->error = XS_TIMEOUT; ecb 2024 dev/ic/ncr53c9x.c ncr53c9x_done(sc, ecb); ecb 2123 dev/ic/ncr53c9x.c ecb?ecb->dleft:-1); ecb 2161 dev/ic/ncr53c9x.c ecb->xs->error = XS_SELTIMEOUT; ecb 2164 dev/ic/ncr53c9x.c sc_link = ecb->xs->sc_link; ecb 2184 dev/ic/ncr53c9x.c if (ecb) ecb 2185 dev/ic/ncr53c9x.c sc_print_addr(ecb->xs->sc_link); ecb 2188 dev/ic/ncr53c9x.c ti = &sc->sc_tinfo[ecb->xs->sc_link->target]; ecb 2206 dev/ic/ncr53c9x.c if (ecb->flags & ECB_SENSE) { ecb 2211 dev/ic/ncr53c9x.c timeout_del(&ecb->to); ecb 2212 dev/ic/ncr53c9x.c ncr53c9x_sense(sc, ecb); ecb 2216 dev/ic/ncr53c9x.c ecb->xs->error = XS_TIMEOUT; ecb 2259 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 2280 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 2291 dev/ic/ncr53c9x.c timeout_del(&ecb->to); ecb 2292 dev/ic/ncr53c9x.c ncr53c9x_dequeue(sc, ecb); ecb 2293 dev/ic/ncr53c9x.c TAILQ_INSERT_HEAD(&sc->ready_list, ecb, chain); ecb 2294 dev/ic/ncr53c9x.c ecb->flags |= ECB_READY; ecb 2295 dev/ic/ncr53c9x.c ecb = sc->sc_nexus = NULL; ecb 2370 dev/ic/ncr53c9x.c ecb = sc->sc_nexus; ecb 2371 dev/ic/ncr53c9x.c if (!ecb) ecb 2374 dev/ic/ncr53c9x.c sc_link = ecb->xs->sc_link; ecb 2392 dev/ic/ncr53c9x.c ecb->tag[0] == 0) { ecb 2410 dev/ic/ncr53c9x.c if (ecb->tag[0]) ecb 2474 dev/ic/ncr53c9x.c sc->sc_dp = ecb->daddr; ecb 2475 dev/ic/ncr53c9x.c sc->sc_dleft = ecb->dleft; ecb 2515 dev/ic/ncr53c9x.c ecb->stat = sc->sc_imess[sc->sc_imlen - 2]; ecb 2517 dev/ic/ncr53c9x.c NCR_PHASE(("<stat:(%x,%x)>", ecb->stat, msg)); ecb 2519 dev/ic/ncr53c9x.c ecb->dleft = (ecb->flags & ECB_TENTATIVE_DONE) ecb 2522 dev/ic/ncr53c9x.c if ((ecb->flags & ECB_SENSE) == 0) ecb 2523 dev/ic/ncr53c9x.c ecb->xs->resid = ecb->dleft; ecb 2547 dev/ic/ncr53c9x.c if (sc->sc_state != NCR_CONNECTED || ecb == NULL) { ecb 2600 dev/ic/ncr53c9x.c ecb->cmd.cmd.opcode, ecb->clen)); ecb 2608 dev/ic/ncr53c9x.c size = ecb->clen; ecb 2610 dev/ic/ncr53c9x.c sc->sc_cmdp = (caddr_t)&ecb->cmd.cmd; ecb 2623 dev/ic/ncr53c9x.c ncr53c9x_wrfifo(sc, (u_char *)&ecb->cmd.cmd, ecb->clen); ecb 2646 dev/ic/ncr53c9x.c ecb->flags &= ~ECB_TENTATIVE_DONE; ecb 2688 dev/ic/ncr53c9x.c ncr53c9x_done(sc, ecb); ecb 2725 dev/ic/ncr53c9x.c ncr53c9x_abort(sc, ecb) ecb 2727 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb; ecb 2731 dev/ic/ncr53c9x.c ecb->timeout = NCR_ABORT_TIMEOUT; ecb 2732 dev/ic/ncr53c9x.c ecb->flags |= ECB_ABORT; ecb 2734 dev/ic/ncr53c9x.c if (ecb == sc->sc_nexus) { ecb 2735 dev/ic/ncr53c9x.c int timeout = ecb->timeout; ecb 2751 dev/ic/ncr53c9x.c timeout_add(&ecb->to, timeout); ecb 2767 dev/ic/ncr53c9x.c struct ncr53c9x_ecb *ecb = arg; ecb 2768 dev/ic/ncr53c9x.c struct scsi_xfer *xs = ecb->xs; ecb 2779 dev/ic/ncr53c9x.c ecb, ecb->flags, ecb->dleft, ecb->stat, ecb 2786 dev/ic/ncr53c9x.c printf("TRACE: %s.", ecb->trace); ecb 2791 dev/ic/ncr53c9x.c if (ecb->flags & ECB_ABORT) { ecb 2800 dev/ic/ncr53c9x.c ncr53c9x_abort(sc, ecb); ecb 2803 dev/ic/ncr53c9x.c if (ecb == sc->sc_nexus && ecb 134 dev/ic/ncr53c9xvar.h #define ECB_TRACE(ecb, msg, a, b) do { \ ecb 136 dev/ic/ncr53c9xvar.h int n = strlen((ecb)->trace); \ ecb 137 dev/ic/ncr53c9xvar.h if (n < (sizeof((ecb)->trace)-100)) \ ecb 138 dev/ic/ncr53c9xvar.h snprintf((ecb)->trace + n, sizeof((ecb)->trace) - n, f, a, b); \ ecb 141 dev/ic/ncr53c9xvar.h #define ECB_TRACE(ecb, msg, a, b) ecb 693 dev/sbus/esp_sbus.c struct ncr53c9x_ecb *ecb; ecb 710 dev/sbus/esp_sbus.c TAILQ_FOREACH(ecb, &sc->ready_list, chain) { ecb 711 dev/sbus/esp_sbus.c db_printf("ecb %p ", ecb); ecb 712 dev/sbus/esp_sbus.c if (ecb == TAILQ_NEXT(ecb, chain)) { ecb 713 dev/sbus/esp_sbus.c db_printf("\nWARNING: tailq loop on ecb %p", ecb); ecb 725 dev/sbus/esp_sbus.c if ((ecb = li->queued[i])) { ecb 726 dev/sbus/esp_sbus.c db_printf("ecb %p tag %x\n", ecb, i);