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