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);