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