acb               382 dev/ic/aic6360.c 	struct aic_acb *acb;
acb               395 dev/ic/aic6360.c 		acb = sc->sc_acb;
acb               396 dev/ic/aic6360.c 		bzero(acb, sizeof(sc->sc_acb));
acb               397 dev/ic/aic6360.c 		for (r = 0; r < sizeof(sc->sc_acb) / sizeof(*acb); r++) {
acb               398 dev/ic/aic6360.c 			TAILQ_INSERT_TAIL(&sc->free_list, acb, chain);
acb               399 dev/ic/aic6360.c 			acb++;
acb               405 dev/ic/aic6360.c 		if ((acb = sc->sc_nexus) != NULL) {
acb               406 dev/ic/aic6360.c 			acb->xs->error = XS_DRIVER_STUFFUP;
acb               407 dev/ic/aic6360.c 			timeout_del(&acb->xs->stimeout);
acb               408 dev/ic/aic6360.c 			aic_done(sc, acb);
acb               410 dev/ic/aic6360.c 		while ((acb = TAILQ_FIRST(&sc->nexus_list)) != NULL) {
acb               411 dev/ic/aic6360.c 			acb->xs->error = XS_DRIVER_STUFFUP;
acb               412 dev/ic/aic6360.c 			timeout_del(&acb->xs->stimeout);
acb               413 dev/ic/aic6360.c 			aic_done(sc, acb);
acb               442 dev/ic/aic6360.c aic_free_acb(struct aic_softc *sc, struct aic_acb *acb, int flags)
acb               448 dev/ic/aic6360.c 	acb->flags = 0;
acb               449 dev/ic/aic6360.c 	TAILQ_INSERT_HEAD(&sc->free_list, acb, chain);
acb               455 dev/ic/aic6360.c 	if (TAILQ_NEXT(acb, chain) == NULL)
acb               464 dev/ic/aic6360.c 	struct aic_acb *acb;
acb               469 dev/ic/aic6360.c 	while ((acb = TAILQ_FIRST(&sc->free_list)) == NULL &&
acb               472 dev/ic/aic6360.c 	if (acb) {
acb               473 dev/ic/aic6360.c 		TAILQ_REMOVE(&sc->free_list, acb, chain);
acb               474 dev/ic/aic6360.c 		acb->flags |= ACB_ALLOC;
acb               478 dev/ic/aic6360.c 	return acb;
acb               512 dev/ic/aic6360.c 	struct aic_acb *acb;
acb               520 dev/ic/aic6360.c 	if ((acb = aic_get_acb(sc, flags)) == NULL) {
acb               525 dev/ic/aic6360.c 	acb->xs = xs;
acb               526 dev/ic/aic6360.c 	acb->timeout = xs->timeout;
acb               527 dev/ic/aic6360.c 	timeout_set(&xs->stimeout, aic_timeout, acb);
acb               530 dev/ic/aic6360.c 		acb->flags |= ACB_RESET;
acb               531 dev/ic/aic6360.c 		acb->scsi_cmd_length = 0;
acb               532 dev/ic/aic6360.c 		acb->data_length = 0;
acb               534 dev/ic/aic6360.c 		bcopy(xs->cmd, &acb->scsi_cmd, xs->cmdlen);
acb               535 dev/ic/aic6360.c 		acb->scsi_cmd_length = xs->cmdlen;
acb               536 dev/ic/aic6360.c 		acb->data_addr = xs->data;
acb               537 dev/ic/aic6360.c 		acb->data_length = xs->datalen;
acb               539 dev/ic/aic6360.c 	acb->target_stat = 0;
acb               543 dev/ic/aic6360.c 	TAILQ_INSERT_TAIL(&sc->ready_list, acb, chain);
acb               553 dev/ic/aic6360.c 	if (aic_poll(sc, xs, acb->timeout)) {
acb               554 dev/ic/aic6360.c 		aic_timeout(acb);
acb               555 dev/ic/aic6360.c 		if (aic_poll(sc, xs, acb->timeout))
acb               556 dev/ic/aic6360.c 			aic_timeout(acb);
acb               639 dev/ic/aic6360.c aic_select(struct aic_softc *sc, struct aic_acb *acb)
acb               643 dev/ic/aic6360.c 	struct scsi_link *sc_link = acb->xs->sc_link;
acb               664 dev/ic/aic6360.c 	struct aic_acb *acb;
acb               689 dev/ic/aic6360.c 	TAILQ_FOREACH(acb, &sc->nexus_list, chain) {
acb               690 dev/ic/aic6360.c 		sc_link = acb->xs->sc_link;
acb               694 dev/ic/aic6360.c 	if (acb == NULL) {
acb               703 dev/ic/aic6360.c 	TAILQ_REMOVE(&sc->nexus_list, acb, chain);
acb               705 dev/ic/aic6360.c 	sc->sc_nexus = acb;
acb               710 dev/ic/aic6360.c 	if (acb->flags & ACB_RESET)
acb               712 dev/ic/aic6360.c 	else if (acb->flags & ACB_ABORT)
acb               716 dev/ic/aic6360.c 	sc->sc_dp = acb->data_addr;
acb               717 dev/ic/aic6360.c 	sc->sc_dleft = acb->data_length;
acb               718 dev/ic/aic6360.c 	sc->sc_cp = (u_char *)&acb->scsi_cmd;
acb               719 dev/ic/aic6360.c 	sc->sc_cleft = acb->scsi_cmd_length;
acb               743 dev/ic/aic6360.c 	struct aic_acb *acb;
acb               753 dev/ic/aic6360.c 	TAILQ_FOREACH(acb, &sc->ready_list, chain) {
acb               754 dev/ic/aic6360.c 		sc_link = acb->xs->sc_link;
acb               759 dev/ic/aic6360.c 			TAILQ_REMOVE(&sc->ready_list, acb, chain);
acb               760 dev/ic/aic6360.c 			sc->sc_nexus = acb;
acb               761 dev/ic/aic6360.c 			aic_select(sc, acb);
acb               775 dev/ic/aic6360.c aic_sense(struct aic_softc *sc, struct aic_acb *acb)
acb               777 dev/ic/aic6360.c 	struct scsi_xfer *xs = acb->xs;
acb               780 dev/ic/aic6360.c 	struct scsi_sense *ss = (void *)&acb->scsi_cmd;
acb               788 dev/ic/aic6360.c 	acb->scsi_cmd_length = sizeof(*ss);
acb               789 dev/ic/aic6360.c 	acb->data_addr = (char *)&xs->sense;
acb               790 dev/ic/aic6360.c 	acb->data_length = sizeof(struct scsi_sense_data);
acb               791 dev/ic/aic6360.c 	acb->flags |= ACB_SENSE;
acb               793 dev/ic/aic6360.c 	if (acb->flags & ACB_NEXUS)
acb               795 dev/ic/aic6360.c 	if (acb == sc->sc_nexus) {
acb               796 dev/ic/aic6360.c 		aic_select(sc, acb);
acb               798 dev/ic/aic6360.c 		aic_dequeue(sc, acb);
acb               799 dev/ic/aic6360.c 		TAILQ_INSERT_HEAD(&sc->ready_list, acb, chain);
acb               809 dev/ic/aic6360.c aic_done(struct aic_softc *sc, struct aic_acb *acb)
acb               811 dev/ic/aic6360.c 	struct scsi_xfer *xs = acb->xs;
acb               826 dev/ic/aic6360.c 		if (acb->flags & ACB_ABORT) {
acb               828 dev/ic/aic6360.c 		} else if (acb->flags & ACB_SENSE) {
acb               830 dev/ic/aic6360.c 		} else if (acb->target_stat == SCSI_CHECK) {
acb               832 dev/ic/aic6360.c 			xs->resid = acb->data_length;
acb               833 dev/ic/aic6360.c 			xs->status = acb->target_stat;
acb               834 dev/ic/aic6360.c 			aic_sense(sc, acb);
acb               837 dev/ic/aic6360.c 			xs->resid = acb->data_length;
acb               857 dev/ic/aic6360.c 	if (acb->flags & ACB_NEXUS)
acb               859 dev/ic/aic6360.c 	if (acb == sc->sc_nexus) {
acb               864 dev/ic/aic6360.c 		aic_dequeue(sc, acb);
acb               866 dev/ic/aic6360.c 	aic_free_acb(sc, acb, xs->flags);
acb               872 dev/ic/aic6360.c aic_dequeue(struct aic_softc *sc, struct aic_acb *acb)
acb               875 dev/ic/aic6360.c 	if (acb->flags & ACB_NEXUS) {
acb               876 dev/ic/aic6360.c 		TAILQ_REMOVE(&sc->nexus_list, acb, chain);
acb               878 dev/ic/aic6360.c 		TAILQ_REMOVE(&sc->ready_list, acb, chain);
acb               990 dev/ic/aic6360.c 		struct aic_acb *acb;
acb               996 dev/ic/aic6360.c 		acb = sc->sc_nexus;
acb               997 dev/ic/aic6360.c 		ti = &sc->sc_tinfo[acb->xs->sc_link->target];
acb              1002 dev/ic/aic6360.c 				sc_link = acb->xs->sc_link;
acb              1006 dev/ic/aic6360.c 				acb->data_length = 0;
acb              1008 dev/ic/aic6360.c 			acb->xs->resid = acb->data_length = sc->sc_dleft;
acb              1056 dev/ic/aic6360.c 			acb->data_addr = sc->sc_dp;
acb              1057 dev/ic/aic6360.c 			acb->data_length = sc->sc_dleft;
acb              1061 dev/ic/aic6360.c 			sc->sc_dp = acb->data_addr;
acb              1062 dev/ic/aic6360.c 			sc->sc_dleft = acb->data_length;
acb              1063 dev/ic/aic6360.c 			sc->sc_cp = (u_char *)&acb->scsi_cmd;
acb              1064 dev/ic/aic6360.c 			sc->sc_cleft = acb->scsi_cmd_length;
acb              1083 dev/ic/aic6360.c 					sc_print_addr(acb->xs->sc_link);
acb              1104 dev/ic/aic6360.c 					sc_print_addr(acb->xs->sc_link);
acb              1636 dev/ic/aic6360.c 	struct aic_acb *acb;
acb              1709 dev/ic/aic6360.c 				acb = sc->sc_nexus;
acb              1711 dev/ic/aic6360.c 				TAILQ_INSERT_HEAD(&sc->ready_list, acb, chain);
acb              1734 dev/ic/aic6360.c 			acb = sc->sc_nexus;
acb              1735 dev/ic/aic6360.c 			sc_link = acb->xs->sc_link;
acb              1739 dev/ic/aic6360.c 			if (acb->flags & ACB_RESET)
acb              1741 dev/ic/aic6360.c 			else if (acb->flags & ACB_ABORT)
acb              1754 dev/ic/aic6360.c 			acb->flags |= ACB_NEXUS;
acb              1758 dev/ic/aic6360.c 			sc->sc_dp = acb->data_addr;
acb              1759 dev/ic/aic6360.c 			sc->sc_dleft = acb->data_length;
acb              1760 dev/ic/aic6360.c 			sc->sc_cp = (u_char *)&acb->scsi_cmd;
acb              1761 dev/ic/aic6360.c 			sc->sc_cleft = acb->scsi_cmd_length;
acb              1764 dev/ic/aic6360.c 			if ((acb->xs->flags & SCSI_POLL) == 0)
acb              1765 dev/ic/aic6360.c 				timeout_add(&acb->xs->stimeout,
acb              1766 dev/ic/aic6360.c 				    (acb->timeout * hz) / 1000);
acb              1780 dev/ic/aic6360.c 			acb = sc->sc_nexus;
acb              1787 dev/ic/aic6360.c 			acb->xs->error = XS_SELTIMEOUT;
acb              1832 dev/ic/aic6360.c 			acb = sc->sc_nexus;
acb              1841 dev/ic/aic6360.c 				sc_link = acb->xs->sc_link;
acb              1873 dev/ic/aic6360.c 				aic_sense(sc, acb);
acb              1877 dev/ic/aic6360.c 			acb->xs->error = XS_DRIVER_STUFFUP;
acb              1882 dev/ic/aic6360.c 			acb = sc->sc_nexus;
acb              1884 dev/ic/aic6360.c 			acb->data_addr = sc->sc_dp;
acb              1885 dev/ic/aic6360.c 			acb->data_length = sc->sc_dleft;
acb              1887 dev/ic/aic6360.c 			TAILQ_INSERT_HEAD(&sc->nexus_list, acb, chain);
acb              1893 dev/ic/aic6360.c 			acb = sc->sc_nexus;
acb              1932 dev/ic/aic6360.c 			acb = sc->sc_nexus;
acb              1934 dev/ic/aic6360.c 			    acb->scsi_cmd.opcode, acb->scsi_cmd_length-1);
acb              1967 dev/ic/aic6360.c 		acb = sc->sc_nexus;
acb              1969 dev/ic/aic6360.c 		acb->target_stat = bus_space_read_1(iot, ioh, SCSIDAT);
acb              1971 dev/ic/aic6360.c 		AIC_MISC(("target_stat=0x%02x ", acb->target_stat));
acb              1983 dev/ic/aic6360.c 	timeout_del(&acb->xs->stimeout);
acb              1984 dev/ic/aic6360.c 	aic_done(sc, acb);
acb              1998 dev/ic/aic6360.c aic_abort(struct aic_softc *sc, struct aic_acb *acb)
acb              2002 dev/ic/aic6360.c 	acb->timeout = AIC_ABORT_TIMEOUT;
acb              2003 dev/ic/aic6360.c 	acb->flags |= ACB_ABORT;
acb              2005 dev/ic/aic6360.c 	if (acb == sc->sc_nexus) {
acb              2013 dev/ic/aic6360.c 		aic_dequeue(sc, acb);
acb              2014 dev/ic/aic6360.c 		TAILQ_INSERT_HEAD(&sc->ready_list, acb, chain);
acb              2023 dev/ic/aic6360.c 	struct aic_acb *acb = arg;
acb              2024 dev/ic/aic6360.c 	struct scsi_xfer *xs = acb->xs;
acb              2034 dev/ic/aic6360.c 	if (acb->flags & ACB_ABORT) {
acb              2041 dev/ic/aic6360.c 		acb->xs->error = XS_TIMEOUT;
acb              2042 dev/ic/aic6360.c 		aic_abort(sc, acb);
acb              2055 dev/ic/aic6360.c aic_show_scsi_cmd(struct aic_acb *acb)
acb              2057 dev/ic/aic6360.c 	u_char  *b = (u_char *)&acb->scsi_cmd;
acb              2058 dev/ic/aic6360.c 	struct scsi_link *sc_link = acb->xs->sc_link;
acb              2062 dev/ic/aic6360.c 	if ((acb->xs->flags & SCSI_RESET) == 0) {
acb              2063 dev/ic/aic6360.c 		for (i = 0; i < acb->scsi_cmd_length; i++) {
acb              2074 dev/ic/aic6360.c aic_print_acb(struct aic_acb *acb)
acb              2077 dev/ic/aic6360.c 	printf("acb@%p xs=%p flags=%x", acb, acb->xs, acb->flags);
acb              2079 dev/ic/aic6360.c 	       acb->data_addr, acb->data_length, acb->target_stat);
acb              2080 dev/ic/aic6360.c 	aic_show_scsi_cmd(acb);
acb              2086 dev/ic/aic6360.c 	struct aic_acb *acb;
acb              2090 dev/ic/aic6360.c 	TAILQ_FOREACH(acb, &sc->ready_list, chain)
acb              2091 dev/ic/aic6360.c 		aic_print_acb(acb);
acb              2096 dev/ic/aic6360.c 	TAILQ_FOREACH(acb, &sc->nexus_list, chain)
acb              2097 dev/ic/aic6360.c 		aic_print_acb(acb);
acb               203 dev/ic/osiop.c 	struct osiop_acb *acb;
acb               280 dev/ic/osiop.c 	acb = malloc(sizeof(struct osiop_acb) * OSIOP_NACB,
acb               282 dev/ic/osiop.c 	if (acb == NULL) {
acb               286 dev/ic/osiop.c 	bzero(acb, sizeof(struct osiop_acb) * OSIOP_NACB);
acb               287 dev/ic/osiop.c 	sc->sc_acb = acb;
acb               301 dev/ic/osiop.c 	for (i = 0; i < OSIOP_NACB; i++, acb++) {
acb               305 dev/ic/osiop.c 		    OSIOP_MAX_XFER, 0, BUS_DMA_NOWAIT, &acb->datadma);
acb               312 dev/ic/osiop.c 		acb->sc = sc;
acb               313 dev/ic/osiop.c 		acb->ds = &sc->sc_ds[i];
acb               314 dev/ic/osiop.c 		acb->dsoffset = sizeof(struct osiop_ds) * i;
acb               316 dev/ic/osiop.c 		dsa = sc->sc_dsdma->dm_segs[0].ds_addr + acb->dsoffset;
acb               317 dev/ic/osiop.c 		acb->ds->id.addr = dsa + OSIOP_DSIDOFF;
acb               318 dev/ic/osiop.c 		acb->ds->cmd.addr = dsa + OSIOP_DSCMDOFF;
acb               319 dev/ic/osiop.c 		acb->ds->status.count = 1;
acb               320 dev/ic/osiop.c 		acb->ds->status.addr = dsa + OSIOP_DSSTATOFF;
acb               321 dev/ic/osiop.c 		acb->ds->msg.count = 1;
acb               322 dev/ic/osiop.c 		acb->ds->msg.addr = dsa + OSIOP_DSMSGOFF;
acb               323 dev/ic/osiop.c 		acb->ds->msgin.count = 1;
acb               324 dev/ic/osiop.c 		acb->ds->msgin.addr = dsa + OSIOP_DSMSGINOFF;
acb               325 dev/ic/osiop.c 		acb->ds->extmsg.count = 1;
acb               326 dev/ic/osiop.c 		acb->ds->extmsg.addr = dsa + OSIOP_DSEXTMSGOFF;
acb               327 dev/ic/osiop.c 		acb->ds->synmsg.count = 3;
acb               328 dev/ic/osiop.c 		acb->ds->synmsg.addr = dsa + OSIOP_DSSYNMSGOFF;
acb               329 dev/ic/osiop.c 		TAILQ_INSERT_TAIL(&sc->free_list, acb, chain);
acb               381 dev/ic/osiop.c 	struct osiop_acb *acb;
acb               398 dev/ic/osiop.c 	acb = TAILQ_FIRST(&sc->free_list);
acb               399 dev/ic/osiop.c 	if (acb != NULL) {
acb               400 dev/ic/osiop.c 		TAILQ_REMOVE(&sc->free_list, acb, chain);
acb               412 dev/ic/osiop.c 	acb->flags = 0;
acb               413 dev/ic/osiop.c 	acb->status = ACB_S_READY;
acb               414 dev/ic/osiop.c 	acb->xs = xs;
acb               415 dev/ic/osiop.c 	acb->xsflags = xs->flags;
acb               416 dev/ic/osiop.c 	bcopy(xs->cmd, &acb->ds->scsi_cmd, xs->cmdlen);
acb               417 dev/ic/osiop.c 	acb->ds->cmd.count = xs->cmdlen;
acb               418 dev/ic/osiop.c 	acb->datalen = 0;
acb               420 dev/ic/osiop.c 	acb->data = xs->data;
acb               424 dev/ic/osiop.c 	if (acb->xsflags & (SCSI_DATA_IN | SCSI_DATA_OUT)) {
acb               425 dev/ic/osiop.c 		acb->datalen = xs->datalen;
acb               426 dev/ic/osiop.c 		err = bus_dmamap_load(sc->sc_dmat, acb->datadma,
acb               427 dev/ic/osiop.c 		    xs->data, acb->datalen, NULL,
acb               429 dev/ic/osiop.c 		    ((acb->xsflags & SCSI_DATA_IN) ?
acb               436 dev/ic/osiop.c 			TAILQ_INSERT_TAIL(&sc->free_list, acb, chain);
acb               440 dev/ic/osiop.c 		bus_dmamap_sync(sc->sc_dmat, acb->datadma,
acb               441 dev/ic/osiop.c 		    0, acb->datalen, (acb->xsflags & SCSI_DATA_IN) ?
acb               449 dev/ic/osiop.c 	timeout_set(&xs->stimeout, osiop_timeout, acb);
acb               451 dev/ic/osiop.c 	TAILQ_INSERT_TAIL(&sc->ready_list, acb, chain);
acb               457 dev/ic/osiop.c 	if ((acb->xsflags & SCSI_POLL) || (sc->sc_flags & OSIOP_NODMA))
acb               458 dev/ic/osiop.c 		osiop_poll(sc, acb);
acb               470 dev/ic/osiop.c osiop_poll(sc, acb)
acb               472 dev/ic/osiop.c 	struct osiop_acb *acb;
acb               474 dev/ic/osiop.c 	struct scsi_xfer *xs = acb->xs;
acb               493 dev/ic/osiop.c 				    acb->ds->scsi_cmd.opcode,
acb               499 dev/ic/osiop.c 				    acb->ds, acb->xs->timeout);
acb               516 dev/ic/osiop.c 			if (acb != sc->sc_nexus)
acb               544 dev/ic/osiop.c 	struct osiop_acb *acb;
acb               560 dev/ic/osiop.c 	TAILQ_FOREACH(acb, &sc->ready_list, chain) {
acb               561 dev/ic/osiop.c 		periph = acb->xs->sc_link;
acb               564 dev/ic/osiop.c 			TAILQ_REMOVE(&sc->ready_list, acb, chain);
acb               565 dev/ic/osiop.c 			sc->sc_nexus = acb;
acb               571 dev/ic/osiop.c 	if (acb == NULL) {
acb               580 dev/ic/osiop.c 	if (acb->xsflags & SCSI_RESET)
acb               588 dev/ic/osiop.c osiop_scsidone(acb, status)
acb               589 dev/ic/osiop.c 	struct osiop_acb *acb;
acb               598 dev/ic/osiop.c 	if (acb == NULL || acb->xs == NULL) {
acb               606 dev/ic/osiop.c 	xs = acb->xs;
acb               607 dev/ic/osiop.c 	sc = acb->sc;
acb               615 dev/ic/osiop.c 	autosense = acb->flags & ACB_F_AUTOSENSE;
acb               616 dev/ic/osiop.c 	acb->flags &= ~ACB_F_AUTOSENSE;
acb               619 dev/ic/osiop.c 	if (acb->status != ACB_S_DONE)
acb               621 dev/ic/osiop.c 		    sc->sc_dev.dv_xname, acb->status);
acb               624 dev/ic/osiop.c 	if (acb->xsflags & (SCSI_DATA_IN | SCSI_DATA_OUT)) {
acb               625 dev/ic/osiop.c 		bus_dmamap_sync(sc->sc_dmat, acb->datadma, 0, acb->datalen,
acb               626 dev/ic/osiop.c 		    (acb->xsflags & SCSI_DATA_IN) ?
acb               628 dev/ic/osiop.c 		bus_dmamap_unload(sc->sc_dmat, acb->datadma);
acb               646 dev/ic/osiop.c 			acb->flags |= ACB_F_AUTOSENSE;
acb               678 dev/ic/osiop.c 	if (acb == sc->sc_nexus) {
acb               684 dev/ic/osiop.c 	} else if (sc->ready_list.tqh_last == &TAILQ_NEXT(acb, chain)) {
acb               685 dev/ic/osiop.c 		TAILQ_REMOVE(&sc->ready_list, acb, chain);
acb               690 dev/ic/osiop.c 			if (acb2 == acb) {
acb               691 dev/ic/osiop.c 				TAILQ_REMOVE(&sc->nexus_list, acb, chain);
acb               699 dev/ic/osiop.c 			if (TAILQ_NEXT(acb, chain) != NULL) {
acb               700 dev/ic/osiop.c 				TAILQ_REMOVE(&sc->ready_list, acb, chain);
acb               715 dev/ic/osiop.c 	if ((acb->flags & ACB_F_AUTOSENSE) == 0) {
acb               718 dev/ic/osiop.c 		acb->status = ACB_S_FREE;
acb               719 dev/ic/osiop.c 		TAILQ_INSERT_TAIL(&sc->free_list, acb, chain);
acb               727 dev/ic/osiop.c 		struct scsi_sense *cmd = (struct scsi_sense *)&acb->ds->scsi_cmd;
acb               731 dev/ic/osiop.c 		acb->ds->cmd.count = sizeof(*cmd);
acb               737 dev/ic/osiop.c 		acb->xsflags &= SCSI_POLL | SCSI_NOSLEEP;
acb               738 dev/ic/osiop.c 		acb->xsflags |= SCSI_DATA_IN;
acb               739 dev/ic/osiop.c 		acb->datalen  = sizeof xs->sense;
acb               741 dev/ic/osiop.c 		acb->data = &xs->sense;
acb               743 dev/ic/osiop.c 		err = bus_dmamap_load(sc->sc_dmat, acb->datadma,
acb               752 dev/ic/osiop.c 		bus_dmamap_sync(sc->sc_dmat, acb->datadma,
acb               756 dev/ic/osiop.c 		acb->status  = ACB_S_READY;
acb               757 dev/ic/osiop.c 		TAILQ_INSERT_HEAD(&sc->ready_list, acb, chain);
acb               758 dev/ic/osiop.c 		if (((acb->xsflags & SCSI_POLL) == 0) && ((sc->sc_flags & OSIOP_NODMA) == 0))
acb               849 dev/ic/osiop.c 	struct osiop_acb *acb;
acb               924 dev/ic/osiop.c 	while ((acb = TAILQ_FIRST(&sc->nexus_list)) != NULL) {
acb               925 dev/ic/osiop.c 		acb->xs->error = (acb->flags & ACB_F_TIMEOUT) ?
acb               927 dev/ic/osiop.c 		acb->status = ACB_S_DONE;
acb               928 dev/ic/osiop.c 		osiop_scsidone(acb, SCSI_OSIOP_NOCHECK);
acb               963 dev/ic/osiop.c 	struct osiop_acb *acb = sc->sc_nexus;
acb               964 dev/ic/osiop.c 	struct osiop_ds *ds = acb->ds;
acb               965 dev/ic/osiop.c 	struct scsi_xfer *xs = acb->xs;
acb               966 dev/ic/osiop.c 	bus_dmamap_t dsdma = sc->sc_dsdma, datadma = acb->datadma;
acb               976 dev/ic/osiop.c 		    sc->sc_script, acb->ds, sc->sc_active);
acb               992 dev/ic/osiop.c 	if (acb->status != ACB_S_READY)
acb               996 dev/ic/osiop.c 	acb->intstat = 0;
acb              1043 dev/ic/osiop.c 	acb->curaddr = 0;
acb              1044 dev/ic/osiop.c 	acb->curlen = 0;
acb              1049 dev/ic/osiop.c 	if (acb->xsflags & (SCSI_DATA_IN | SCSI_DATA_OUT)) {
acb              1058 dev/ic/osiop.c 	    acb->dsoffset, sizeof(struct osiop_ds),
acb              1061 dev/ic/osiop.c 	acb->status = ACB_S_ACTIVE;
acb              1068 dev/ic/osiop.c 		    sc->sc_script, acb->ds, sc->sc_active);
acb              1083 dev/ic/osiop.c 		    dsdma->dm_segs[0].ds_addr + acb->dsoffset);
acb              1113 dev/ic/osiop.c 	struct osiop_acb *acb = sc->sc_nexus;
acb              1150 dev/ic/osiop.c 	if (acb != NULL) { /* XXX */
acb              1151 dev/ic/osiop.c 		ds = acb->ds;
acb              1153 dev/ic/osiop.c 		    acb->dsoffset, sizeof(struct osiop_ds),
acb              1156 dev/ic/osiop.c 		if (acb->status != ACB_S_ACTIVE)
acb              1158 dev/ic/osiop.c 			    acb->status);
acb              1165 dev/ic/osiop.c 		if (acb == NULL) {
acb              1172 dev/ic/osiop.c 		    dsdma->dm_segs[0].ds_addr + acb->dsoffset) {
acb              1175 dev/ic/osiop.c 			    dsdma->dm_segs[0].ds_addr + acb->dsoffset);
acb              1179 dev/ic/osiop.c 		target = acb->xs->sc_link->target;
acb              1211 dev/ic/osiop.c 		acb->status = ACB_S_DONE;
acb              1215 dev/ic/osiop.c 		if (acb == NULL) {
acb              1220 dev/ic/osiop.c 		target = acb->xs->sc_link->target;
acb              1238 dev/ic/osiop.c 			    acb->dsoffset, sizeof(struct osiop_ds),
acb              1260 dev/ic/osiop.c 		if (acb == NULL) {
acb              1265 dev/ic/osiop.c 		if (acb->datalen > 0) {
acb              1271 dev/ic/osiop.c 			acb->curaddr = osiop_read_4(sc, OSIOP_DNAD) - adjust;
acb              1272 dev/ic/osiop.c 			acb->curlen = dbc + adjust;
acb              1278 dev/ic/osiop.c 				    acb->curaddr, acb->curlen, dfifo,
acb              1281 dev/ic/osiop.c 				    osiopstarts, acb);
acb              1291 dev/ic/osiop.c 				    acb->dsoffset, sizeof(struct osiop_ds),
acb              1333 dev/ic/osiop.c 		if (acb == NULL) {
acb              1346 dev/ic/osiop.c 			    dsdma->dm_segs[0].ds_addr + acb->dsoffset);
acb              1372 dev/ic/osiop.c 		acb->status = ACB_S_DONE;
acb              1374 dev/ic/osiop.c 		acb->xs->error = XS_SELTIMEOUT;
acb              1380 dev/ic/osiop.c 	if (acb != NULL)
acb              1381 dev/ic/osiop.c 		target = acb->xs->sc_link->target;
acb              1386 dev/ic/osiop.c 		if (acb == NULL)
acb              1399 dev/ic/osiop.c 		return (acb != NULL);
acb              1404 dev/ic/osiop.c 		if (acb == NULL) {
acb              1418 dev/ic/osiop.c 			    acb->curaddr, acb->curlen,
acb              1420 dev/ic/osiop.c 			    dfifo, dbc, sstat1, osiopstarts, acb);
acb              1422 dev/ic/osiop.c 			    acb->dsoffset, sizeof(struct osiop_ds),
acb              1434 dev/ic/osiop.c 		if (acb->datalen > 0 &&
acb              1438 dev/ic/osiop.c 			if (acb->curlen != 0 &&
acb              1439 dev/ic/osiop.c 			    acb->curlen != ds->data[0].count)
acb              1443 dev/ic/osiop.c 				    acb->curaddr, acb->curlen,
acb              1452 dev/ic/osiop.c 				acb->curaddr = ds->data[n].addr;
acb              1453 dev/ic/osiop.c 				acb->curlen = ds->data[n].count;
acb              1460 dev/ic/osiop.c 				    acb->curaddr, acb->curlen);
acb              1471 dev/ic/osiop.c 		if (acb->curlen > 0) {
acb              1485 dev/ic/osiop.c 				if (acb->curaddr >= ds->data[i].addr &&
acb              1486 dev/ic/osiop.c 				    acb->curaddr <
acb              1493 dev/ic/osiop.c 				    acb->curaddr, acb->curlen, i);
acb              1502 dev/ic/osiop.c 				    acb->curaddr, acb->curlen);
acb              1504 dev/ic/osiop.c 			ds->data[0].addr = acb->curaddr;
acb              1505 dev/ic/osiop.c 			ds->data[0].count = acb->curlen;
acb              1524 dev/ic/osiop.c 			    acb->dsoffset, sizeof(struct osiop_ds),
acb              1533 dev/ic/osiop.c 		acb->intstat = sc->sc_flags & OSIOP_INTSOFF;
acb              1534 dev/ic/osiop.c 		TAILQ_INSERT_TAIL(&sc->nexus_list, acb, chain);
acb              1578 dev/ic/osiop.c 		TAILQ_FOREACH(acb, &sc->nexus_list, chain) {
acb              1579 dev/ic/osiop.c 			struct scsi_link *periph = acb->xs->sc_link;
acb              1584 dev/ic/osiop.c 			TAILQ_REMOVE(&sc->nexus_list, acb, chain);
acb              1585 dev/ic/osiop.c 			sc->sc_nexus = acb;
acb              1586 dev/ic/osiop.c 			sc->sc_flags |= acb->intstat;
acb              1587 dev/ic/osiop.c 			acb->intstat = 0;
acb              1589 dev/ic/osiop.c 			    dsdma->dm_segs[0].ds_addr + acb->dsoffset);
acb              1596 dev/ic/osiop.c 		if (acb == NULL) {
acb              1649 dev/ic/osiop.c 		if (acb == NULL) {
acb              1661 dev/ic/osiop.c 		    acb->dsoffset, sizeof(struct osiop_ds),
acb              1702 dev/ic/osiop.c 	    sc->sc_dsdma->dm_segs[0].ds_addr + acb->dsoffset,
acb              1723 dev/ic/osiop.c 	if (acb != NULL)
acb              1724 dev/ic/osiop.c 		acb->status = ACB_S_DONE;
acb              1732 dev/ic/osiop.c 	struct osiop_acb *acb = sc->sc_nexus;
acb              1739 dev/ic/osiop.c 	if (acb->xsflags & SCSI_POLL || sc->sc_flags & OSIOP_NODMA) {
acb              1758 dev/ic/osiop.c 		    acb->xs->sc_link->target,
acb              1759 dev/ic/osiop.c 		    acb->ds->scsi_cmd.opcode, sc->sc_nexus->ds);
acb              1973 dev/ic/osiop.c 	struct osiop_acb *acb = arg;
acb              1974 dev/ic/osiop.c 	struct scsi_xfer *xs = acb->xs;
acb              1975 dev/ic/osiop.c 	struct osiop_softc *sc = acb->sc;
acb              1985 dev/ic/osiop.c 	acb->flags |= ACB_F_TIMEOUT;
acb              2011 dev/ic/osiop.c osiop_dump_acb(acb)
acb              2012 dev/ic/osiop.c 	struct osiop_acb *acb;
acb              2017 dev/ic/osiop.c 	printf("acb@%p ", acb);
acb              2018 dev/ic/osiop.c 	if (acb->xs == NULL) {
acb              2023 dev/ic/osiop.c 	b = (u_int8_t *)&acb->ds->scsi_cmd;
acb              2025 dev/ic/osiop.c 	    acb->xs->sc_link->target,
acb              2026 dev/ic/osiop.c 	    acb->xs->sc_link->lun,
acb              2027 dev/ic/osiop.c 	    acb->status,
acb              2028 dev/ic/osiop.c 	    acb->ds->cmd.count);
acb              2029 dev/ic/osiop.c 	for (i = acb->ds->cmd.count; i > 0; i--)
acb              2032 dev/ic/osiop.c 	printf("  xs: %p data %p:%04x ", acb->xs, acb->data,
acb              2033 dev/ic/osiop.c 	    acb->datalen);
acb              2034 dev/ic/osiop.c 	printf("cur %lx:%lx\n", acb->curaddr, acb->curlen);
acb              2041 dev/ic/osiop.c 	struct osiop_acb *acb;
acb              2050 dev/ic/osiop.c 	if ((acb = TAILQ_FIRST(&sc->free_list)) != NULL) {
acb              2052 dev/ic/osiop.c 		while (acb) {
acb              2053 dev/ic/osiop.c 			osiop_dump_acb(acb);
acb              2054 dev/ic/osiop.c 			acb = TAILQ_NEXT(acb, chain);
acb              2057 dev/ic/osiop.c 	if ((acb = TAILQ_FIRST(&sc->ready_list)) != NULL) {
acb              2059 dev/ic/osiop.c 		while (acb) {
acb              2060 dev/ic/osiop.c 			osiop_dump_acb(acb);
acb              2061 dev/ic/osiop.c 			acb = TAILQ_NEXT(acb, chain);
acb              2064 dev/ic/osiop.c 	if ((acb = TAILQ_FIRST(&sc->nexus_list)) != NULL) {
acb              2066 dev/ic/osiop.c 		while (acb) {
acb              2067 dev/ic/osiop.c 			osiop_dump_acb(acb);
acb              2068 dev/ic/osiop.c 			acb = TAILQ_NEXT(acb, chain);
acb                75 dev/isa/gscsio.c void	gscsio_acb_reset(struct gscsio_acb *acb);
acb                96 dev/isa/gscsio.c 	bus_space_read_1(sc->sc_iot, acb->ioh, (reg))
acb                98 dev/isa/gscsio.c 	bus_space_write_1(sc->sc_iot, acb->ioh, (reg), (val))
acb               224 dev/isa/gscsio.c gscsio_acb_init(struct gscsio_acb *acb, i2c_tag_t tag)
acb               226 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               242 dev/isa/gscsio.c 	tag->ic_cookie = acb;
acb               258 dev/isa/gscsio.c gscsio_acb_wait(struct gscsio_acb *acb, int bits, int flags)
acb               260 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               269 dev/isa/gscsio.c 			gscsio_acb_reset(acb);
acb               277 dev/isa/gscsio.c 			gscsio_acb_reset(acb);
acb               287 dev/isa/gscsio.c 		gscsio_acb_reset(acb);
acb               295 dev/isa/gscsio.c gscsio_acb_reset(struct gscsio_acb *acb)
acb               297 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               319 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               324 dev/isa/gscsio.c 	return (rw_enter(&acb->buslock, RW_WRITE | RW_INTR));
acb               330 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               335 dev/isa/gscsio.c 	rw_exit(&acb->buslock);
acb               341 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               342 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               355 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               356 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               369 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               370 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               381 dev/isa/gscsio.c 	if ((error = gscsio_acb_wait(acb,
acb               395 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               396 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               401 dev/isa/gscsio.c 	if ((error = gscsio_acb_wait(acb, GSCSIO_ACB_ST_SDAST, flags)))
acb               420 dev/isa/gscsio.c 	struct gscsio_acb *acb = cookie;
acb               421 dev/isa/gscsio.c 	struct gscsio_softc *sc = acb->sc;
acb               426 dev/isa/gscsio.c 	if ((error = gscsio_acb_wait(acb, GSCSIO_ACB_ST_SDAST, flags)))