ccb 236 dev/eisa/cac_eisa.c cac_eisa_l0_submit(struct cac_softc *sc, struct cac_ccb *ccb)
ccb 244 dev/eisa/cac_eisa.c size = letoh16(ccb->ccb_hdr.size) << 2;
ccb 245 dev/eisa/cac_eisa.c ccb->ccb_hdr.size = 0;
ccb 247 dev/eisa/cac_eisa.c bus_dmamap_sync(sc->sc_dmat, sc->sc_dmamap, (caddr_t)ccb - sc->sc_ccbs,
ccb 251 dev/eisa/cac_eisa.c cac_outl(sc, CAC_EISAREG_LIST_ADDR, ccb->ccb_paddr);
ccb 259 dev/eisa/cac_eisa.c struct cac_ccb *ccb;
ccb 276 dev/eisa/cac_eisa.c ccb = (struct cac_ccb *)(sc->sc_ccbs + off);
ccb 281 dev/eisa/cac_eisa.c ccb->ccb_req.error = status;
ccb 282 dev/eisa/cac_eisa.c return (ccb);
ccb 414 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb;
ccb 430 dev/i2o/ioprbs.c ccb = NULL;
ccb 508 dev/i2o/ioprbs.c ccb = ioprbs_get_ccb(sc, xs->flags);
ccb 513 dev/i2o/ioprbs.c if (ccb == NULL) {
ccb 518 dev/i2o/ioprbs.c ccb->ic_blockno = blockno;
ccb 519 dev/i2o/ioprbs.c ccb->ic_blockcnt = blockcnt;
ccb 520 dev/i2o/ioprbs.c ccb->ic_xs = xs;
ccb 521 dev/i2o/ioprbs.c ccb->ic_timeout = xs->timeout;
ccb 523 dev/i2o/ioprbs.c ioprbs_enqueue_ccb(sc, ccb);
ccb 528 dev/i2o/ioprbs.c if (!ioprbs_wait(sc, ccb, ccb->ic_timeout)) {
ccb 565 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb = im->im_dvcontext;
ccb 566 dev/i2o/ioprbs.c struct buf *bp = ccb->ic_xs->bp;
ccb 576 dev/i2o/ioprbs.c timeout_del(&ccb->ic_xs->stimeout);
ccb 605 dev/i2o/ioprbs.c scsi_done(ccb->ic_xs);
ccb 606 dev/i2o/ioprbs.c ioprbs_free_ccb(sc, ccb);
ccb 792 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb;
ccb 800 dev/i2o/ioprbs.c ccb = TAILQ_FIRST(&sc->sc_free_ccb);
ccb 801 dev/i2o/ioprbs.c if (ccb != NULL)
ccb 808 dev/i2o/ioprbs.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, ic_chain);
ccb 811 dev/i2o/ioprbs.c ccb->ic_flags = 0;
ccb 815 dev/i2o/ioprbs.c return (ccb);
ccb 819 dev/i2o/ioprbs.c ioprbs_free_ccb(sc, ccb)
ccb 821 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb;
ccb 825 dev/i2o/ioprbs.c DPRINTF(("ioprbs_free_ccb(%p, %p) ", sc, ccb));
ccb 829 dev/i2o/ioprbs.c TAILQ_INSERT_HEAD(&sc->sc_free_ccb, ccb, ic_chain);
ccb 832 dev/i2o/ioprbs.c if (TAILQ_NEXT(ccb, ic_chain) == NULL)
ccb 839 dev/i2o/ioprbs.c ioprbs_enqueue_ccb(sc, ccb)
ccb 841 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb;
ccb 843 dev/i2o/ioprbs.c DPRINTF(("ioprbs_enqueue_ccb(%p, %p) ", sc, ccb));
ccb 845 dev/i2o/ioprbs.c timeout_set(&ccb->ic_xs->stimeout, ioprbs_timeout, ccb);
ccb 846 dev/i2o/ioprbs.c TAILQ_INSERT_TAIL(&sc->sc_ccbq, ccb, ic_chain);
ccb 854 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb;
ccb 859 dev/i2o/ioprbs.c while ((ccb = TAILQ_FIRST(&sc->sc_ccbq)) != NULL) {
ccb 861 dev/i2o/ioprbs.c xs = ccb->ic_xs;
ccb 862 dev/i2o/ioprbs.c if (ccb->ic_flags & IOPRBS_ICF_WATCHDOG)
ccb 865 dev/i2o/ioprbs.c if (ioprbs_exec_ccb(ccb) == 0) {
ccb 866 dev/i2o/ioprbs.c ccb->ic_flags |= IOPRBS_ICF_WATCHDOG;
ccb 867 dev/i2o/ioprbs.c timeout_set(&ccb->ic_xs->stimeout, ioprbs_watchdog,
ccb 868 dev/i2o/ioprbs.c ccb);
ccb 873 dev/i2o/ioprbs.c TAILQ_REMOVE(&sc->sc_ccbq, ccb, ic_chain);
ccb 876 dev/i2o/ioprbs.c timeout_set(&ccb->ic_xs->stimeout, ioprbs_timeout,
ccb 877 dev/i2o/ioprbs.c ccb);
ccb 879 dev/i2o/ioprbs.c (ccb->ic_timeout * hz) / 1000);
ccb 885 dev/i2o/ioprbs.c ioprbs_exec_ccb(ccb)
ccb 886 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb;
ccb 888 dev/i2o/ioprbs.c struct scsi_xfer *xs = ccb->ic_xs;
ccb 890 dev/i2o/ioprbs.c DPRINTF(("ioprbs_exec_ccb(%p, %p) ", xs, ccb));
ccb 892 dev/i2o/ioprbs.c ioprbs_start(ccb);
ccb 904 dev/i2o/ioprbs.c ioprbs_start(struct ioprbs_ccb *ccb)
ccb 906 dev/i2o/ioprbs.c struct scsi_xfer *xs = ccb->ic_xs;
ccb 920 dev/i2o/ioprbs.c im->im_dvcontext = ccb;
ccb 940 dev/i2o/ioprbs.c ba = (u_int64_t)ccb->ic_blockno * DEV_BSIZE;
ccb 953 dev/i2o/ioprbs.c mf->datasize = ccb->ic_blockcnt * DEV_BSIZE;
ccb 959 dev/i2o/ioprbs.c ccb->ic_blockcnt * DEV_BSIZE, mode == I2O_RBS_BLOCK_WRITE);
ccb 975 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb = arg;
ccb 976 dev/i2o/ioprbs.c struct scsi_link *link = ccb->ic_xs->sc_link;
ccb 985 dev/i2o/ioprbs.c ccb->ic_xs->error = XS_TIMEOUT;
ccb 987 dev/i2o/ioprbs.c ioprbs_enqueue_ccb(sc, ccb);
ccb 995 dev/i2o/ioprbs.c struct ioprbs_ccb *ccb = arg;
ccb 996 dev/i2o/ioprbs.c struct scsi_link *link = ccb->ic_xs->sc_link;
ccb 1001 dev/i2o/ioprbs.c ccb->ic_flags &= ~IOPRBS_ICF_WATCHDOG;
ccb 232 dev/ic/adv.c ADV_CCB *ccb;
ccb 237 dev/ic/adv.c ccb = &ccbstore[i];
ccb 238 dev/ic/adv.c if ((error = adv_init_ccb(sc, ccb)) != 0) {
ccb 243 dev/ic/adv.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, chain);
ccb 254 dev/ic/adv.c adv_free_ccb(sc, ccb)
ccb 256 dev/ic/adv.c ADV_CCB *ccb;
ccb 262 dev/ic/adv.c adv_reset_ccb(ccb);
ccb 263 dev/ic/adv.c TAILQ_INSERT_HEAD(&sc->sc_free_ccb, ccb, chain);
ccb 269 dev/ic/adv.c if (TAILQ_NEXT(ccb, chain) == NULL)
ccb 277 dev/ic/adv.c adv_reset_ccb(ccb)
ccb 278 dev/ic/adv.c ADV_CCB *ccb;
ccb 281 dev/ic/adv.c ccb->flags = 0;
ccb 286 dev/ic/adv.c adv_init_ccb(sc, ccb)
ccb 288 dev/ic/adv.c ADV_CCB *ccb;
ccb 298 dev/ic/adv.c 0, BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &ccb->dmamap_xfer);
ccb 304 dev/ic/adv.c adv_reset_ccb(ccb);
ccb 319 dev/ic/adv.c ADV_CCB *ccb = 0;
ccb 329 dev/ic/adv.c ccb = TAILQ_FIRST(&sc->sc_free_ccb);
ccb 330 dev/ic/adv.c if (ccb) {
ccb 331 dev/ic/adv.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, chain);
ccb 340 dev/ic/adv.c ccb->flags |= CCB_ALLOC;
ccb 344 dev/ic/adv.c return (ccb);
ccb 352 dev/ic/adv.c adv_queue_ccb(sc, ccb)
ccb 354 dev/ic/adv.c ADV_CCB *ccb;
ccb 357 dev/ic/adv.c timeout_set(&ccb->xs->stimeout, adv_timeout, ccb);
ccb 358 dev/ic/adv.c TAILQ_INSERT_TAIL(&sc->sc_waiting_ccb, ccb, chain);
ccb 368 dev/ic/adv.c ADV_CCB *ccb;
ccb 371 dev/ic/adv.c while ((ccb = TAILQ_FIRST(&sc->sc_waiting_ccb)) != NULL) {
ccb 373 dev/ic/adv.c xs = ccb->xs;
ccb 374 dev/ic/adv.c if (ccb->flags & CCB_WATCHDOG)
ccb 377 dev/ic/adv.c if (AscExeScsiQueue(sc, &ccb->scsiq) == ASC_BUSY) {
ccb 378 dev/ic/adv.c ccb->flags |= CCB_WATCHDOG;
ccb 379 dev/ic/adv.c timeout_set(&xs->stimeout, adv_watchdog, ccb);
ccb 384 dev/ic/adv.c TAILQ_REMOVE(&sc->sc_waiting_ccb, ccb, chain);
ccb 386 dev/ic/adv.c if ((ccb->xs->flags & SCSI_POLL) == 0) {
ccb 387 dev/ic/adv.c timeout_set(&xs->stimeout, adv_timeout, ccb);
ccb 388 dev/ic/adv.c timeout_add(&xs->stimeout, (ccb->timeout * hz) / 1000);
ccb 647 dev/ic/adv.c ADV_CCB *ccb;
ccb 695 dev/ic/adv.c if ((ccb = adv_get_ccb(sc, flags)) == NULL) {
ccb 713 dev/ic/adv.c ccb->xs = xs;
ccb 714 dev/ic/adv.c ccb->timeout = xs->timeout;
ccb 719 dev/ic/adv.c memset(&ccb->scsiq, 0, sizeof(ASC_SCSI_Q));
ccb 721 dev/ic/adv.c ccb->scsiq.q2.ccb_ptr = (ulong) ccb;
ccb 723 dev/ic/adv.c ccb->scsiq.cdbptr = &xs->cmd->opcode;
ccb 724 dev/ic/adv.c ccb->scsiq.q2.cdb_len = xs->cmdlen;
ccb 725 dev/ic/adv.c ccb->scsiq.q1.target_id = ASC_TID_TO_TARGET_ID(sc_link->target);
ccb 726 dev/ic/adv.c ccb->scsiq.q1.target_lun = sc_link->lun;
ccb 727 dev/ic/adv.c ccb->scsiq.q2.target_ix = ASC_TIDLUN_TO_IX(sc_link->target,
ccb 729 dev/ic/adv.c ccb->scsiq.q1.sense_addr = sc->sc_dmamap_control->dm_segs[0].ds_addr +
ccb 730 dev/ic/adv.c ADV_CCB_OFF(ccb) + offsetof(struct adv_ccb, scsi_sense);
ccb 731 dev/ic/adv.c ccb->scsiq.q1.sense_len = sizeof(struct scsi_sense_data);
ccb 743 dev/ic/adv.c ccb->scsiq.q2.tag_code = M2_QTAG_MSG_ORDERED;
ccb 745 dev/ic/adv.c ccb->scsiq.q2.tag_code = M2_QTAG_MSG_SIMPLE;
ccb 756 dev/ic/adv.c ccb->dmamap_xfer, (struct uio *) xs->data,
ccb 762 dev/ic/adv.c ccb->dmamap_xfer, xs->data, xs->datalen, NULL,
ccb 778 dev/ic/adv.c adv_free_ccb(sc, ccb);
ccb 781 dev/ic/adv.c bus_dmamap_sync(dmat, ccb->dmamap_xfer,
ccb 782 dev/ic/adv.c 0, ccb->dmamap_xfer->dm_mapsize,
ccb 787 dev/ic/adv.c memset(&ccb->sghead, 0, sizeof(ASC_SG_HEAD));
ccb 789 dev/ic/adv.c for (nsegs = 0; nsegs < ccb->dmamap_xfer->dm_nsegs; nsegs++) {
ccb 791 dev/ic/adv.c ccb->sghead.sg_list[nsegs].addr =
ccb 792 dev/ic/adv.c ccb->dmamap_xfer->dm_segs[nsegs].ds_addr;
ccb 793 dev/ic/adv.c ccb->sghead.sg_list[nsegs].bytes =
ccb 794 dev/ic/adv.c ccb->dmamap_xfer->dm_segs[nsegs].ds_len;
ccb 797 dev/ic/adv.c ccb->sghead.entry_cnt = ccb->scsiq.q1.sg_queue_cnt =
ccb 798 dev/ic/adv.c ccb->dmamap_xfer->dm_nsegs;
ccb 800 dev/ic/adv.c ccb->scsiq.q1.cntl |= ASC_QC_SG_HEAD;
ccb 801 dev/ic/adv.c ccb->scsiq.sg_head = &ccb->sghead;
ccb 802 dev/ic/adv.c ccb->scsiq.q1.data_addr = 0;
ccb 803 dev/ic/adv.c ccb->scsiq.q1.data_cnt = 0;
ccb 808 dev/ic/adv.c ccb->scsiq.q1.data_addr = 0;
ccb 809 dev/ic/adv.c ccb->scsiq.q1.data_cnt = 0;
ccb 816 dev/ic/adv.c (unsigned long)ccb);
ccb 819 dev/ic/adv.c adv_queue_ccb(sc, ccb);
ccb 831 dev/ic/adv.c if (adv_poll(sc, xs, ccb->timeout)) {
ccb 832 dev/ic/adv.c adv_timeout(ccb);
ccb 833 dev/ic/adv.c if (adv_poll(sc, xs, ccb->timeout))
ccb 834 dev/ic/adv.c adv_timeout(ccb);
ccb 903 dev/ic/adv.c ADV_CCB *ccb = arg;
ccb 904 dev/ic/adv.c struct scsi_xfer *xs = ccb->xs;
ccb 918 dev/ic/adv.c if (ccb->flags & CCB_ABORT) {
ccb 923 dev/ic/adv.c ccb->timeout = sc->scsi_reset_wait;
ccb 924 dev/ic/adv.c adv_queue_ccb(sc, ccb);
ccb 929 dev/ic/adv.c AscAbortCCB(sc, (u_int32_t) ccb);
ccb 930 dev/ic/adv.c ccb->xs->error = XS_TIMEOUT;
ccb 931 dev/ic/adv.c ccb->timeout = ADV_ABORT_TIMEOUT;
ccb 932 dev/ic/adv.c ccb->flags |= CCB_ABORT;
ccb 933 dev/ic/adv.c adv_queue_ccb(sc, ccb);
ccb 944 dev/ic/adv.c ADV_CCB *ccb = arg;
ccb 945 dev/ic/adv.c struct scsi_xfer *xs = ccb->xs;
ccb 952 dev/ic/adv.c ccb->flags &= ~CCB_WATCHDOG;
ccb 975 dev/ic/adv.c ADV_CCB *ccb = (ADV_CCB *) qdonep->d2.ccb_ptr;
ccb 976 dev/ic/adv.c struct scsi_xfer *xs = ccb->xs;
ccb 982 dev/ic/adv.c (unsigned long)ccb,
ccb 993 dev/ic/adv.c bus_dmamap_sync(dmat, ccb->dmamap_xfer,
ccb 994 dev/ic/adv.c 0, ccb->dmamap_xfer->dm_mapsize,
ccb 997 dev/ic/adv.c bus_dmamap_unload(dmat, ccb->dmamap_xfer);
ccb 999 dev/ic/adv.c if ((ccb->flags & CCB_ALLOC) == 0) {
ccb 1041 dev/ic/adv.c s1 = &ccb->scsi_sense;
ccb 1064 dev/ic/adv.c adv_free_ccb(sc, ccb);
ccb 3030 dev/ic/advlib.c AscAbortCCB(sc, ccb)
ccb 3032 dev/ic/advlib.c u_int32_t ccb;
ccb 3045 dev/ic/advlib.c if (AscRiscHaltedAbortCCB(sc, ccb) == 1) {
ccb 3061 dev/ic/advlib.c AscRiscHaltedAbortCCB(sc, ccb)
ccb 3063 dev/ic/advlib.c u_int32_t ccb;
ccb 3083 dev/ic/advlib.c if (scsiq->d2.ccb_ptr == ccb) {
ccb 282 dev/ic/adw.c ADW_CCB *ccb;
ccb 286 dev/ic/adw.c ccb = &ccbstore[i];
ccb 287 dev/ic/adw.c if ((error = adw_init_ccb(sc, ccb)) != 0) {
ccb 292 dev/ic/adw.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, chain);
ccb 303 dev/ic/adw.c adw_free_ccb(sc, ccb)
ccb 305 dev/ic/adw.c ADW_CCB *ccb;
ccb 311 dev/ic/adw.c adw_reset_ccb(ccb);
ccb 312 dev/ic/adw.c TAILQ_INSERT_HEAD(&sc->sc_free_ccb, ccb, chain);
ccb 318 dev/ic/adw.c if (TAILQ_NEXT(ccb, chain) == NULL)
ccb 326 dev/ic/adw.c adw_reset_ccb(ccb)
ccb 327 dev/ic/adw.c ADW_CCB *ccb;
ccb 330 dev/ic/adw.c ccb->flags = 0;
ccb 335 dev/ic/adw.c adw_init_ccb(sc, ccb)
ccb 337 dev/ic/adw.c ADW_CCB *ccb;
ccb 347 dev/ic/adw.c 0, BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &ccb->dmamap_xfer);
ccb 358 dev/ic/adw.c ccb->hashkey = sc->sc_dmamap_control->dm_segs[0].ds_addr +
ccb 359 dev/ic/adw.c ADW_CCB_OFF(ccb);
ccb 360 dev/ic/adw.c hashnum = CCB_HASH(ccb->hashkey);
ccb 361 dev/ic/adw.c ccb->nexthash = sc->sc_ccbhash[hashnum];
ccb 362 dev/ic/adw.c sc->sc_ccbhash[hashnum] = ccb;
ccb 363 dev/ic/adw.c adw_reset_ccb(ccb);
ccb 378 dev/ic/adw.c ADW_CCB *ccb = 0;
ccb 388 dev/ic/adw.c ccb = TAILQ_FIRST(&sc->sc_free_ccb);
ccb 389 dev/ic/adw.c if (ccb) {
ccb 390 dev/ic/adw.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, chain);
ccb 399 dev/ic/adw.c ccb->flags |= CCB_ALLOC;
ccb 403 dev/ic/adw.c return (ccb);
ccb 416 dev/ic/adw.c ADW_CCB *ccb = sc->sc_ccbhash[hashnum];
ccb 418 dev/ic/adw.c while (ccb) {
ccb 419 dev/ic/adw.c if (ccb->hashkey == ccb_phys)
ccb 421 dev/ic/adw.c ccb = ccb->nexthash;
ccb 423 dev/ic/adw.c return (ccb);
ccb 431 dev/ic/adw.c adw_queue_ccb(sc, ccb, retry)
ccb 433 dev/ic/adw.c ADW_CCB *ccb;
ccb 439 dev/ic/adw.c TAILQ_INSERT_TAIL(&sc->sc_waiting_ccb, ccb, chain);
ccb 442 dev/ic/adw.c while ((ccb = TAILQ_FIRST(&sc->sc_waiting_ccb)) != NULL) {
ccb 444 dev/ic/adw.c errcode = AdwExeScsiQueue(sc, &ccb->scsiq);
ccb 455 dev/ic/adw.c TAILQ_REMOVE(&sc->sc_waiting_ccb, ccb, chain);
ccb 459 dev/ic/adw.c TAILQ_REMOVE(&sc->sc_waiting_ccb, ccb, chain);
ccb 460 dev/ic/adw.c TAILQ_INSERT_TAIL(&sc->sc_pending_ccb, ccb, chain);
ccb 463 dev/ic/adw.c timeout_set(&ccb->xs->stimeout, adw_timeout, ccb);
ccb 464 dev/ic/adw.c if ((ccb->xs->flags & SCSI_POLL) == 0)
ccb 465 dev/ic/adw.c timeout_add(&ccb->xs->stimeout, (ccb->timeout * hz) / 1000);
ccb 660 dev/ic/adw.c ADW_CCB *ccb;
ccb 718 dev/ic/adw.c if ((ccb = adw_get_ccb(sc, flags)) == NULL) {
ccb 736 dev/ic/adw.c ccb->xs = xs;
ccb 737 dev/ic/adw.c ccb->timeout = xs->timeout;
ccb 739 dev/ic/adw.c if (adw_build_req(xs, ccb, flags)) {
ccb 742 dev/ic/adw.c retry = adw_queue_ccb(sc, ccb, retry);
ccb 763 dev/ic/adw.c if (adw_poll(sc, xs, ccb->timeout)) {
ccb 764 dev/ic/adw.c adw_timeout(ccb);
ccb 765 dev/ic/adw.c if (adw_poll(sc, xs, ccb->timeout))
ccb 766 dev/ic/adw.c adw_timeout(ccb);
ccb 777 dev/ic/adw.c adw_build_req(xs, ccb, flags)
ccb 779 dev/ic/adw.c ADW_CCB *ccb;
ccb 788 dev/ic/adw.c scsiqp = &ccb->scsiq;
ccb 795 dev/ic/adw.c scsiqp->ccb_ptr = ccb->hashkey;
ccb 814 dev/ic/adw.c scsiqp->vsense_addr = &ccb->scsi_sense;
ccb 816 dev/ic/adw.c ADW_CCB_OFF(ccb) + offsetof(struct adw_ccb, scsi_sense);
ccb 829 dev/ic/adw.c ccb->dmamap_xfer, (struct uio *) xs->data,
ccb 836 dev/ic/adw.c ccb->dmamap_xfer, xs->data, xs->datalen, NULL,
ccb 853 dev/ic/adw.c adw_free_ccb(sc, ccb);
ccb 856 dev/ic/adw.c bus_dmamap_sync(dmat, ccb->dmamap_xfer,
ccb 857 dev/ic/adw.c 0, ccb->dmamap_xfer->dm_mapsize,
ccb 866 dev/ic/adw.c scsiqp->data_addr = ccb->dmamap_xfer->dm_segs[0].ds_addr;
ccb 867 dev/ic/adw.c bzero(ccb->sg_block, sizeof(ADW_SG_BLOCK) * ADW_NUM_SG_BLOCK);
ccb 868 dev/ic/adw.c adw_build_sglist(ccb, scsiqp, ccb->sg_block);
ccb 886 dev/ic/adw.c adw_build_sglist(ccb, scsiqp, sg_block)
ccb 887 dev/ic/adw.c ADW_CCB *ccb;
ccb 894 dev/ic/adw.c bus_dma_segment_t *sg_list = &ccb->dmamap_xfer->dm_segs[0];
ccb 895 dev/ic/adw.c int sg_elem_cnt = ccb->dmamap_xfer->dm_nsegs;
ccb 899 dev/ic/adw.c sg_block_physical_addr = ccb->hashkey +
ccb 994 dev/ic/adw.c ADW_CCB *ccb = arg;
ccb 995 dev/ic/adw.c struct scsi_xfer *xs = ccb->xs;
ccb 1005 dev/ic/adw.c if (ccb->flags & CCB_ABORTED) {
ccb 1017 dev/ic/adw.c } else if (ccb->flags & CCB_ABORTING) {
ccb 1025 dev/ic/adw.c ccb->flags |= CCB_ABORTED;
ccb 1041 dev/ic/adw.c ADW_ABORT_CCB(sc, ccb);
ccb 1048 dev/ic/adw.c timeout_add(&xs->stimeout, (ccb->timeout * hz) / 1000);
ccb 1057 dev/ic/adw.c ccb->flags |= CCB_ABORTING;
ccb 1073 dev/ic/adw.c ADW_ABORT_CCB(sc, ccb);
ccb 1080 dev/ic/adw.c timeout_add(&xs->stimeout, (ccb->timeout * hz) / 1000);
ccb 1091 dev/ic/adw.c ADW_CCB *ccb;
ccb 1096 dev/ic/adw.c while((ccb = TAILQ_LAST(&sc->sc_pending_ccb,
ccb 1098 dev/ic/adw.c timeout_del(&ccb->xs->stimeout);
ccb 1099 dev/ic/adw.c TAILQ_REMOVE(&sc->sc_pending_ccb, ccb, chain);
ccb 1100 dev/ic/adw.c TAILQ_INSERT_HEAD(&sc->sc_waiting_ccb, ccb, chain);
ccb 1183 dev/ic/adw.c ADW_CCB *ccb;
ccb 1188 dev/ic/adw.c ccb = adw_ccb_phys_kv(sc, scsiq->ccb_ptr);
ccb 1189 dev/ic/adw.c TAILQ_REMOVE(&sc->sc_pending_ccb, ccb, chain);
ccb 1191 dev/ic/adw.c if ((ccb->flags & CCB_ALLOC) == 0) {
ccb 1195 dev/ic/adw.c adw_free_ccb(sc, ccb);
ccb 1199 dev/ic/adw.c xs = ccb->xs;
ccb 1208 dev/ic/adw.c bus_dmamap_sync(dmat, ccb->dmamap_xfer,
ccb 1209 dev/ic/adw.c 0, ccb->dmamap_xfer->dm_mapsize,
ccb 1212 dev/ic/adw.c bus_dmamap_unload(dmat, ccb->dmamap_xfer);
ccb 1252 dev/ic/adw.c s1 = &ccb->scsi_sense;
ccb 1355 dev/ic/adw.c adw_free_ccb(sc, ccb);
ccb 1717 dev/ic/adwlib.c ADW_CCB *ccb;
ccb 1735 dev/ic/adwlib.c ccb = adw_ccb_phys_kv(sc, scsiq->ccb_ptr);
ccb 1756 dev/ic/adwlib.c ADW_CCB_OFF(ccb) + offsetof(struct adw_ccb, scsiq);
ccb 2000 dev/ic/adwlib.c ADW_CCB *ccb;
ccb 2065 dev/ic/adwlib.c ccb = adw_ccb_phys_kv(sc, sc->irq_sp->areq_ba);
ccb 2066 dev/ic/adwlib.c scsiq = &ccb->scsiq;
ccb 8429 dev/ic/aic79xx.c xpt_done((union ccb *)inot);
ccb 9449 dev/ic/aic79xx.c ahd_find_tmode_devs(struct ahd_softc *ahd, struct cam_sim *sim, union ccb *ccb,
ccb 9462 dev/ic/aic79xx.c if (ccb->ccb_h.target_id == CAM_TARGET_WILDCARD
ccb 9463 dev/ic/aic79xx.c && ccb->ccb_h.target_lun == CAM_LUN_WILDCARD) {
ccb 9470 dev/ic/aic79xx.c if (ccb->ccb_h.target_id > max_id)
ccb 9473 dev/ic/aic79xx.c if (ccb->ccb_h.target_lun >= AHD_NUM_LUNS)
ccb 9476 dev/ic/aic79xx.c *tstate = ahd->enabled_targets[ccb->ccb_h.target_id];
ccb 9480 dev/ic/aic79xx.c (*tstate)->enabled_luns[ccb->ccb_h.target_lun];
ccb 9490 dev/ic/aic79xx.c ahd_handle_en_lun(struct ahd_softc *ahd, struct cam_sim *sim, union ccb *ccb)
ccb 9503 dev/ic/aic79xx.c status = ahd_find_tmode_devs(ahd, sim, ccb, &tstate, &lstate,
ccb 9507 dev/ic/aic79xx.c ccb->ccb_h.status = status;
ccb 9515 dev/ic/aic79xx.c if (ccb->ccb_h.target_id != our_id) {
ccb 9541 dev/ic/aic79xx.c ccb->ccb_h.status = status;
ccb 9550 dev/ic/aic79xx.c && ccb->ccb_h.target_id != CAM_TARGET_WILDCARD) {
ccb 9556 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_BUSY;
ccb 9568 dev/ic/aic79xx.c cel = &ccb->cel;
ccb 9569 dev/ic/aic79xx.c target = ccb->ccb_h.target_id;
ccb 9570 dev/ic/aic79xx.c lun = ccb->ccb_h.target_lun;
ccb 9581 dev/ic/aic79xx.c xpt_print_path(ccb->ccb_h.path);
ccb 9583 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_LUN_ALRDY_ENA;
ccb 9593 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 9605 dev/ic/aic79xx.c xpt_print_path(ccb->ccb_h.path);
ccb 9607 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
ccb 9613 dev/ic/aic79xx.c xpt_print_path(ccb->ccb_h.path);
ccb 9615 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
ccb 9620 dev/ic/aic79xx.c xpt_path_path_id(ccb->ccb_h.path),
ccb 9621 dev/ic/aic79xx.c xpt_path_target_id(ccb->ccb_h.path),
ccb 9622 dev/ic/aic79xx.c xpt_path_lun_id(ccb->ccb_h.path));
ccb 9625 dev/ic/aic79xx.c xpt_print_path(ccb->ccb_h.path);
ccb 9627 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
ccb 9692 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_REQ_CMP;
ccb 9693 dev/ic/aic79xx.c xpt_print_path(ccb->ccb_h.path);
ccb 9700 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_LUN_INVALID;
ccb 9706 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_REQ_CMP;
ccb 9712 dev/ic/aic79xx.c && !xpt_path_comp(ccbh->path, ccb->ccb_h.path)){
ccb 9714 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 9722 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 9727 dev/ic/aic79xx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 9730 dev/ic/aic79xx.c if (ccb->ccb_h.status != CAM_REQ_CMP) {
ccb 9735 dev/ic/aic79xx.c xpt_print_path(ccb->ccb_h.path);
ccb 9987 dev/ic/aic79xx.c ahd_freeze_ccb((union ccb *)atio);
ccb 9990 dev/ic/aic79xx.c xpt_done((union ccb*)atio);
ccb 1542 dev/ic/aic79xx.h struct cam_sim *sim, union ccb *ccb);
ccb 1544 dev/ic/aic79xx.h struct cam_sim *sim, union ccb *ccb,
ccb 6135 dev/ic/aic7xxx.c xpt_done((union ccb *)inot);
ccb 6673 dev/ic/aic7xxx.c ahc_find_tmode_devs(struct ahc_softc *ahc, struct cam_sim *sim, union ccb *ccb,
ccb 6686 dev/ic/aic7xxx.c if (ccb->ccb_h.target_id == CAM_TARGET_WILDCARD
ccb 6687 dev/ic/aic7xxx.c && ccb->ccb_h.target_lun == CAM_LUN_WILDCARD) {
ccb 6694 dev/ic/aic7xxx.c if (ccb->ccb_h.target_id > max_id)
ccb 6697 dev/ic/aic7xxx.c if (ccb->ccb_h.target_lun >= AHC_NUM_LUNS)
ccb 6700 dev/ic/aic7xxx.c *tstate = ahc->enabled_targets[ccb->ccb_h.target_id];
ccb 6704 dev/ic/aic7xxx.c (*tstate)->enabled_luns[ccb->ccb_h.target_lun];
ccb 6714 dev/ic/aic7xxx.c ahc_handle_en_lun(struct ahc_softc *ahc, struct cam_sim *sim, union ccb *ccb)
ccb 6728 dev/ic/aic7xxx.c status = ahc_find_tmode_devs(ahc, sim, ccb, &tstate, &lstate,
ccb 6732 dev/ic/aic7xxx.c ccb->ccb_h.status = status;
ccb 6741 dev/ic/aic7xxx.c if (ccb->ccb_h.target_id != our_id) {
ccb 6792 dev/ic/aic7xxx.c ccb->ccb_h.status = status;
ccb 6801 dev/ic/aic7xxx.c && ccb->ccb_h.target_id != CAM_TARGET_WILDCARD) {
ccb 6808 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_BUSY;
ccb 6831 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_FUNC_NOTAVAIL;
ccb 6837 dev/ic/aic7xxx.c cel = &ccb->cel;
ccb 6838 dev/ic/aic7xxx.c target = ccb->ccb_h.target_id;
ccb 6839 dev/ic/aic7xxx.c lun = ccb->ccb_h.target_lun;
ccb 6850 dev/ic/aic7xxx.c xpt_print_path(ccb->ccb_h.path);
ccb 6852 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_LUN_ALRDY_ENA;
ccb 6862 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 6874 dev/ic/aic7xxx.c xpt_print_path(ccb->ccb_h.path);
ccb 6876 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
ccb 6882 dev/ic/aic7xxx.c xpt_print_path(ccb->ccb_h.path);
ccb 6884 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
ccb 6889 dev/ic/aic7xxx.c xpt_path_path_id(ccb->ccb_h.path),
ccb 6890 dev/ic/aic7xxx.c xpt_path_target_id(ccb->ccb_h.path),
ccb 6891 dev/ic/aic7xxx.c xpt_path_lun_id(ccb->ccb_h.path));
ccb 6894 dev/ic/aic7xxx.c xpt_print_path(ccb->ccb_h.path);
ccb 6896 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_RESRC_UNAVAIL;
ccb 6968 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_REQ_CMP;
ccb 6969 dev/ic/aic7xxx.c xpt_print_path(ccb->ccb_h.path);
ccb 6976 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_LUN_INVALID;
ccb 6982 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_REQ_CMP;
ccb 6988 dev/ic/aic7xxx.c && !xpt_path_comp(ccbh->path, ccb->ccb_h.path)){
ccb 6990 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 6998 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 7003 dev/ic/aic7xxx.c ccb->ccb_h.status = CAM_REQ_INVALID;
ccb 7006 dev/ic/aic7xxx.c if (ccb->ccb_h.status != CAM_REQ_CMP) {
ccb 7011 dev/ic/aic7xxx.c xpt_print_path(ccb->ccb_h.path);
ccb 7291 dev/ic/aic7xxx.c ahc_freeze_ccb((union ccb *)atio);
ccb 7294 dev/ic/aic7xxx.c xpt_done((union ccb*)atio);
ccb 184 dev/ic/ami.c struct ami_ccb *ccb;
ccb 186 dev/ic/ami.c ccb = TAILQ_FIRST(&sc->sc_ccb_freeq);
ccb 187 dev/ic/ami.c if (ccb) {
ccb 188 dev/ic/ami.c TAILQ_REMOVE(&sc->sc_ccb_freeq, ccb, ccb_link);
ccb 189 dev/ic/ami.c ccb->ccb_state = AMI_CCB_READY;
ccb 192 dev/ic/ami.c return (ccb);
ccb 196 dev/ic/ami.c ami_put_ccb(struct ami_ccb *ccb)
ccb 198 dev/ic/ami.c struct ami_softc *sc = ccb->ccb_sc;
ccb 200 dev/ic/ami.c ccb->ccb_state = AMI_CCB_FREE;
ccb 201 dev/ic/ami.c ccb->ccb_xs = NULL;
ccb 202 dev/ic/ami.c ccb->ccb_flags = 0;
ccb 203 dev/ic/ami.c ccb->ccb_done = NULL;
ccb 204 dev/ic/ami.c TAILQ_INSERT_TAIL(&sc->sc_ccb_freeq, ccb, ccb_link);
ccb 302 dev/ic/ami.c struct ami_ccb *ccb;
ccb 326 dev/ic/ami.c ccb = &sc->sc_ccbs[i];
ccb 331 dev/ic/ami.c BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &ccb->ccb_dmamap);
ccb 337 dev/ic/ami.c ccb->ccb_sc = sc;
ccb 339 dev/ic/ami.c ccb->ccb_cmd.acc_id = i + 1;
ccb 340 dev/ic/ami.c ccb->ccb_offset = sizeof(struct ami_ccbmem) * i;
ccb 342 dev/ic/ami.c ccb->ccb_pt = &mem->cd_pt;
ccb 343 dev/ic/ami.c ccb->ccb_ptpa = htole32(AMIMEM_DVA(sc->sc_ccbmem_am) +
ccb 344 dev/ic/ami.c ccb->ccb_offset);
ccb 346 dev/ic/ami.c ccb->ccb_sglist = mem->cd_sg;
ccb 347 dev/ic/ami.c ccb->ccb_sglistpa = htole32(AMIMEM_DVA(sc->sc_ccbmem_am) +
ccb 348 dev/ic/ami.c ccb->ccb_offset + sizeof(struct ami_passthrough));
ccb 350 dev/ic/ami.c ami_put_ccb(ccb);
ccb 356 dev/ic/ami.c while ((ccb = ami_get_ccb(sc)) != NULL)
ccb 357 dev/ic/ami.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 936 dev/ic/ami.c ami_start_xs(struct ami_softc *sc, struct ami_ccb *ccb, struct scsi_xfer *xs)
ccb 938 dev/ic/ami.c timeout_set(&xs->stimeout, ami_stimeout, ccb);
ccb 941 dev/ic/ami.c ami_complete(sc, ccb, xs->timeout);
ccb 946 dev/ic/ami.c ami_start(sc, ccb);
ccb 952 dev/ic/ami.c ami_start(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 957 dev/ic/ami.c ccb->ccb_state = AMI_CCB_PREQUEUED;
ccb 958 dev/ic/ami.c TAILQ_INSERT_TAIL(&sc->sc_ccb_preq, ccb, ccb_link);
ccb 977 dev/ic/ami.c struct ami_ccb *ccb;
ccb 979 dev/ic/ami.c while ((ccb = TAILQ_FIRST(&sc->sc_ccb_preq)) != NULL) {
ccb 980 dev/ic/ami.c if (sc->sc_exec(sc, &ccb->ccb_cmd) != 0) {
ccb 986 dev/ic/ami.c TAILQ_REMOVE(&sc->sc_ccb_preq, ccb, ccb_link);
ccb 987 dev/ic/ami.c ccb->ccb_state = AMI_CCB_QUEUED;
ccb 988 dev/ic/ami.c TAILQ_INSERT_TAIL(&sc->sc_ccb_runq, ccb, ccb_link);
ccb 993 dev/ic/ami.c ami_poll(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1004 dev/ic/ami.c error = sc->sc_poll(sc, &ccb->ccb_cmd);
ccb 1006 dev/ic/ami.c ccb->ccb_flags |= AMI_CCB_F_ERR;
ccb 1008 dev/ic/ami.c ccb->ccb_done(sc, ccb);
ccb 1015 dev/ic/ami.c ami_complete(struct ami_softc *sc, struct ami_ccb *ccb, int timeout)
ccb 1028 dev/ic/ami.c if (sc->sc_exec(sc, &ccb->ccb_cmd) == 0) {
ccb 1029 dev/ic/ami.c ccb->ccb_state = AMI_CCB_QUEUED;
ccb 1030 dev/ic/ami.c TAILQ_INSERT_TAIL(&sc->sc_ccb_runq, ccb, ccb_link);
ccb 1037 dev/ic/ami.c if (ccb->ccb_state != AMI_CCB_QUEUED)
ccb 1046 dev/ic/ami.c if (ready == ccb->ccb_cmd.acc_id)
ccb 1058 dev/ic/ami.c ccb->ccb_cmd.acc_id);
ccb 1059 dev/ic/ami.c TAILQ_REMOVE(&sc->sc_ccb_runq, ccb, ccb_link);
ccb 1071 dev/ic/ami.c ccb->ccb_flags |= AMI_CCB_F_ERR;
ccb 1072 dev/ic/ami.c ccb->ccb_state = AMI_CCB_READY;
ccb 1073 dev/ic/ami.c ccb->ccb_done(sc, ccb);
ccb 1080 dev/ic/ami.c struct ami_ccb *ccb = v;
ccb 1081 dev/ic/ami.c struct ami_softc *sc = ccb->ccb_sc;
ccb 1082 dev/ic/ami.c struct ami_iocmd *cmd = &ccb->ccb_cmd;
ccb 1086 dev/ic/ami.c switch (ccb->ccb_state) {
ccb 1089 dev/ic/ami.c TAILQ_REMOVE(&sc->sc_ccb_preq, ccb, ccb_link);
ccb 1090 dev/ic/ami.c ccb->ccb_flags |= AMI_CCB_F_ERR;
ccb 1091 dev/ic/ami.c ccb->ccb_done(sc, ccb);
ccb 1114 dev/ic/ami.c struct ami_ccb *ccb = &sc->sc_ccbs[idx - 1];
ccb 1116 dev/ic/ami.c AMI_DPRINTF(AMI_D_CMD, ("done(%d) ", ccb->ccb_cmd.acc_id));
ccb 1118 dev/ic/ami.c if (ccb->ccb_state != AMI_CCB_QUEUED) {
ccb 1120 dev/ic/ami.c DEVNAME(sc), idx, ccb->ccb_state);
ccb 1124 dev/ic/ami.c ccb->ccb_state = AMI_CCB_READY;
ccb 1125 dev/ic/ami.c TAILQ_REMOVE(&sc->sc_ccb_runq, ccb, ccb_link);
ccb 1127 dev/ic/ami.c ccb->ccb_done(sc, ccb);
ccb 1133 dev/ic/ami.c ami_done_pt(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1135 dev/ic/ami.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 1141 dev/ic/ami.c ccb->ccb_offset, sizeof(struct ami_ccbmem),
ccb 1145 dev/ic/ami.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1146 dev/ic/ami.c ccb->ccb_dmamap->dm_mapsize,
ccb 1150 dev/ic/ami.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap);
ccb 1157 dev/ic/ami.c if (ccb->ccb_flags & AMI_CCB_F_ERR)
ccb 1168 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1173 dev/ic/ami.c ami_done_xs(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1175 dev/ic/ami.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 1178 dev/ic/ami.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1179 dev/ic/ami.c ccb->ccb_dmamap->dm_mapsize,
ccb 1184 dev/ic/ami.c ccb->ccb_offset, sizeof(struct ami_ccbmem),
ccb 1187 dev/ic/ami.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap);
ccb 1194 dev/ic/ami.c if (ccb->ccb_flags & AMI_CCB_F_ERR)
ccb 1197 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1202 dev/ic/ami.c ami_done_flush(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1204 dev/ic/ami.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 1205 dev/ic/ami.c struct ami_iocmd *cmd = &ccb->ccb_cmd;
ccb 1208 dev/ic/ami.c if (ccb->ccb_flags & AMI_CCB_F_ERR) {
ccb 1213 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1219 dev/ic/ami.c ccb->ccb_done = ami_done_sysflush;
ccb 1222 dev/ic/ami.c ami_start_xs(sc, ccb, xs);
ccb 1226 dev/ic/ami.c ami_done_sysflush(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1228 dev/ic/ami.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 1233 dev/ic/ami.c if (ccb->ccb_flags & AMI_CCB_F_ERR)
ccb 1236 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1241 dev/ic/ami.c ami_done_ioctl(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1243 dev/ic/ami.c wakeup(ccb);
ccb 1247 dev/ic/ami.c ami_done_init(struct ami_softc *sc, struct ami_ccb *ccb)
ccb 1283 dev/ic/ami.c struct ami_ccb *ccb;
ccb 1308 dev/ic/ami.c ccb = ami_get_ccb(sc);
ccb 1310 dev/ic/ami.c if (ccb == NULL) {
ccb 1318 dev/ic/ami.c memset(ccb->ccb_pt, 0, sizeof(struct ami_passthrough));
ccb 1320 dev/ic/ami.c ccb->ccb_xs = xs;
ccb 1321 dev/ic/ami.c ccb->ccb_done = ami_done_pt;
ccb 1323 dev/ic/ami.c ccb->ccb_cmd.acc_cmd = AMI_PASSTHRU;
ccb 1324 dev/ic/ami.c ccb->ccb_cmd.acc_passthru.apt_data = ccb->ccb_ptpa;
ccb 1326 dev/ic/ami.c ccb->ccb_pt->apt_param = AMI_PTPARAM(AMI_TIMEOUT_6,1,0);
ccb 1327 dev/ic/ami.c ccb->ccb_pt->apt_channel = channel;
ccb 1328 dev/ic/ami.c ccb->ccb_pt->apt_target = target;
ccb 1329 dev/ic/ami.c bcopy(xs->cmd, ccb->ccb_pt->apt_cdb, AMI_MAX_CDB);
ccb 1330 dev/ic/ami.c ccb->ccb_pt->apt_ncdb = xs->cmdlen;
ccb 1331 dev/ic/ami.c ccb->ccb_pt->apt_nsense = AMI_MAX_SENSE;
ccb 1332 dev/ic/ami.c ccb->ccb_pt->apt_datalen = xs->datalen;
ccb 1333 dev/ic/ami.c ccb->ccb_pt->apt_data = 0;
ccb 1335 dev/ic/ami.c if (ami_load_ptmem(sc, ccb, xs->data, xs->datalen,
ccb 1339 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1345 dev/ic/ami.c return (ami_start_xs(sc, ccb, xs));
ccb 1349 dev/ic/ami.c ami_load_ptmem(struct ami_softc *sc, struct ami_ccb *ccb, void *data,
ccb 1352 dev/ic/ami.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 1371 dev/ic/ami.c struct ami_sgent *sgl = ccb->ccb_sglist;
ccb 1373 dev/ic/ami.c ccb->ccb_pt->apt_nsge = dmap->dm_nsegs;
ccb 1374 dev/ic/ami.c ccb->ccb_pt->apt_data = ccb->ccb_sglistpa;
ccb 1381 dev/ic/ami.c ccb->ccb_pt->apt_nsge = 0;
ccb 1382 dev/ic/ami.c ccb->ccb_pt->apt_data = htole32(sgd->ds_addr);
ccb 1390 dev/ic/ami.c ccb->ccb_offset, sizeof(struct ami_ccbmem),
ccb 1402 dev/ic/ami.c struct ami_ccb *ccb;
ccb 1443 dev/ic/ami.c ccb = ami_get_ccb(sc);
ccb 1445 dev/ic/ami.c if (ccb == NULL) {
ccb 1453 dev/ic/ami.c ccb->ccb_xs = xs;
ccb 1454 dev/ic/ami.c ccb->ccb_done = ami_done_flush;
ccb 1458 dev/ic/ami.c cmd = &ccb->ccb_cmd;
ccb 1461 dev/ic/ami.c return (ami_start_xs(sc, ccb, xs));
ccb 1553 dev/ic/ami.c ccb = ami_get_ccb(sc);
ccb 1555 dev/ic/ami.c if (ccb == NULL) {
ccb 1563 dev/ic/ami.c ccb->ccb_xs = xs;
ccb 1564 dev/ic/ami.c ccb->ccb_done = ami_done_xs;
ccb 1566 dev/ic/ami.c cmd = &ccb->ccb_cmd;
ccb 1572 dev/ic/ami.c error = bus_dmamap_load(sc->sc_dmat, ccb->ccb_dmamap,
ccb 1583 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1589 dev/ic/ami.c sgd = ccb->ccb_dmamap->dm_segs;
ccb 1590 dev/ic/ami.c if (ccb->ccb_dmamap->dm_nsegs > 1) {
ccb 1591 dev/ic/ami.c struct ami_sgent *sgl = ccb->ccb_sglist;
ccb 1593 dev/ic/ami.c cmd->acc_mbox.amb_nsge = ccb->ccb_dmamap->dm_nsegs;
ccb 1594 dev/ic/ami.c cmd->acc_mbox.amb_data = ccb->ccb_sglistpa;
ccb 1596 dev/ic/ami.c for (i = 0; i < ccb->ccb_dmamap->dm_nsegs; i++) {
ccb 1606 dev/ic/ami.c ccb->ccb_offset, sizeof(struct ami_ccbmem),
ccb 1609 dev/ic/ami.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1610 dev/ic/ami.c ccb->ccb_dmamap->dm_mapsize, (xs->flags & SCSI_DATA_IN) ?
ccb 1613 dev/ic/ami.c return (ami_start_xs(sc, ccb, xs));
ccb 1711 dev/ic/ami.c struct ami_ccb *ccb;
ccb 1720 dev/ic/ami.c ccb = ami_get_ccb(sc);
ccb 1722 dev/ic/ami.c if (ccb == NULL) {
ccb 1727 dev/ic/ami.c ccb->ccb_done = ami_done_ioctl;
ccb 1729 dev/ic/ami.c ccb->ccb_cmd.acc_cmd = AMI_PASSTHRU;
ccb 1730 dev/ic/ami.c ccb->ccb_cmd.acc_passthru.apt_data = ccb->ccb_ptpa;
ccb 1732 dev/ic/ami.c pt = ccb->ccb_pt;
ccb 1753 dev/ic/ami.c if (ami_load_ptmem(sc, ccb, inqbuf, sizeof(struct scsi_inquiry_data),
ccb 1759 dev/ic/ami.c ami_start(sc, ccb);
ccb 1761 dev/ic/ami.c while (ccb->ccb_state != AMI_CCB_READY)
ccb 1762 dev/ic/ami.c tsleep(ccb, PRIBIO, "ami_drv_inq", 0);
ccb 1764 dev/ic/ami.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1765 dev/ic/ami.c ccb->ccb_dmamap->dm_mapsize, BUS_DMASYNC_POSTREAD);
ccb 1767 dev/ic/ami.c ccb->ccb_offset, sizeof(struct ami_ccbmem),
ccb 1769 dev/ic/ami.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap);
ccb 1771 dev/ic/ami.c if (ccb->ccb_flags & AMI_CCB_F_ERR)
ccb 1780 dev/ic/ami.c ami_put_ccb(ccb);
ccb 1792 dev/ic/ami.c struct ami_ccb *ccb;
ccb 1802 dev/ic/ami.c ccb = ami_get_ccb(sc);
ccb 1804 dev/ic/ami.c if (ccb == NULL) {
ccb 1817 dev/ic/ami.c ccb->ccb_done = ami_done_ioctl;
ccb 1818 dev/ic/ami.c cmd = &ccb->ccb_cmd;
ccb 1839 dev/ic/ami.c ami_start(sc, ccb);
ccb 1840 dev/ic/ami.c while (ccb->ccb_state != AMI_CCB_READY)
ccb 1841 dev/ic/ami.c tsleep(ccb, PRIBIO,"ami_mgmt", 0);
ccb 1843 dev/ic/ami.c if (ccb->ccb_flags & AMI_CCB_F_ERR)
ccb 1853 dev/ic/ami.c ami_put_ccb(ccb);
ccb 63 dev/ic/amivar.h struct ami_ccb *ccb);
ccb 365 dev/ic/bha.c struct bha_ccb *ccb;
ccb 395 dev/ic/bha.c ccb = bha_ccb_phys_kv(sc, phystol(wmbi->ccb_addr));
ccb 396 dev/ic/bha.c if (!ccb) {
ccb 408 dev/ic/bha.c u_int8_t *cp = ccb->scsi_cmd.bytes;
ccb 410 dev/ic/bha.c ccb->scsi_cmd.opcode,
ccb 414 dev/ic/bha.c printf("ccb addr = 0x%x\n", ccb);
ccb 421 dev/ic/bha.c if ((ccb->flags & CCB_ABORT) != 0) {
ccb 448 dev/ic/bha.c timeout_del(&ccb->xs->stimeout);
ccb 449 dev/ic/bha.c bha_done(sc, ccb);
ccb 515 dev/ic/bha.c bha_reset_ccb(sc, ccb)
ccb 517 dev/ic/bha.c struct bha_ccb *ccb;
ccb 520 dev/ic/bha.c ccb->flags = 0;
ccb 527 dev/ic/bha.c bha_free_ccb(sc, ccb)
ccb 529 dev/ic/bha.c struct bha_ccb *ccb;
ccb 535 dev/ic/bha.c bha_reset_ccb(sc, ccb);
ccb 536 dev/ic/bha.c TAILQ_INSERT_HEAD(&sc->sc_free_ccb, ccb, chain);
ccb 542 dev/ic/bha.c if (TAILQ_NEXT(ccb, chain) == NULL)
ccb 549 dev/ic/bha.c bha_init_ccb(sc, ccb)
ccb 551 dev/ic/bha.c struct bha_ccb *ccb;
ccb 561 dev/ic/bha.c &ccb->dmamap_xfer);
ccb 572 dev/ic/bha.c ccb->hashkey = sc->sc_dmamap_control->dm_segs[0].ds_addr +
ccb 573 dev/ic/bha.c BHA_CCB_OFF(ccb);
ccb 574 dev/ic/bha.c hashnum = CCB_HASH(ccb->hashkey);
ccb 575 dev/ic/bha.c ccb->nexthash = sc->sc_ccbhash[hashnum];
ccb 576 dev/ic/bha.c sc->sc_ccbhash[hashnum] = ccb;
ccb 577 dev/ic/bha.c bha_reset_ccb(sc, ccb);
ccb 591 dev/ic/bha.c struct bha_ccb *ccb;
ccb 596 dev/ic/bha.c ccb = &ccbstore[i];
ccb 597 dev/ic/bha.c if ((error = bha_init_ccb(sc, ccb)) != 0) {
ccb 602 dev/ic/bha.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, chain);
ccb 619 dev/ic/bha.c struct bha_ccb *ccb;
ccb 629 dev/ic/bha.c ccb = TAILQ_FIRST(&sc->sc_free_ccb);
ccb 630 dev/ic/bha.c if (ccb) {
ccb 631 dev/ic/bha.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, chain);
ccb 639 dev/ic/bha.c ccb->flags |= CCB_ALLOC;
ccb 643 dev/ic/bha.c return (ccb);
ccb 655 dev/ic/bha.c struct bha_ccb *ccb = sc->sc_ccbhash[hashnum];
ccb 657 dev/ic/bha.c while (ccb) {
ccb 658 dev/ic/bha.c if (ccb->hashkey == ccb_phys)
ccb 660 dev/ic/bha.c ccb = ccb->nexthash;
ccb 662 dev/ic/bha.c return (ccb);
ccb 669 dev/ic/bha.c bha_queue_ccb(sc, ccb)
ccb 671 dev/ic/bha.c struct bha_ccb *ccb;
ccb 674 dev/ic/bha.c timeout_set(&ccb->xs->stimeout, bha_timeout, ccb);
ccb 675 dev/ic/bha.c TAILQ_INSERT_TAIL(&sc->sc_waiting_ccb, ccb, chain);
ccb 688 dev/ic/bha.c struct bha_ccb *ccb;
ccb 701 dev/ic/bha.c ccb = bha_ccb_phys_kv(sc, phystol(wmbo->ccb_addr));
ccb 702 dev/ic/bha.c ccb->flags &= ~CCB_SENDING;
ccb 722 dev/ic/bha.c struct bha_ccb *ccb;
ccb 727 dev/ic/bha.c while ((ccb = TAILQ_FIRST(&sc->sc_waiting_ccb)) != NULL) {
ccb 729 dev/ic/bha.c xs = ccb->xs;
ccb 744 dev/ic/bha.c TAILQ_REMOVE(&sc->sc_waiting_ccb, ccb, chain);
ccb 746 dev/ic/bha.c ccb->flags |= CCB_SENDING;
ccb 751 dev/ic/bha.c BHA_CCB_OFF(ccb), wmbo->ccb_addr);
ccb 752 dev/ic/bha.c if (ccb->flags & CCB_ABORT)
ccb 765 dev/ic/bha.c timeout_add(&xs->stimeout, (ccb->timeout * hz) / 1000);
ccb 780 dev/ic/bha.c bha_done(sc, ccb)
ccb 782 dev/ic/bha.c struct bha_ccb *ccb;
ccb 786 dev/ic/bha.c struct scsi_xfer *xs = ccb->xs;
ccb 795 dev/ic/bha.c bus_dmamap_sync(dmat, ccb->dmamap_xfer,
ccb 796 dev/ic/bha.c 0, ccb->dmamap_xfer->dm_mapsize,
ccb 799 dev/ic/bha.c bus_dmamap_unload(dmat, ccb->dmamap_xfer);
ccb 807 dev/ic/bha.c if (ccb->flags & CCB_SENDING) {
ccb 814 dev/ic/bha.c if ((ccb->flags & CCB_ALLOC) == 0) {
ccb 821 dev/ic/bha.c if (ccb->host_stat != BHA_OK) {
ccb 822 dev/ic/bha.c switch (ccb->host_stat) {
ccb 828 dev/ic/bha.c sc->sc_dev.dv_xname, ccb->host_stat);
ccb 832 dev/ic/bha.c } else if (ccb->target_stat != SCSI_OK) {
ccb 833 dev/ic/bha.c switch (ccb->target_stat) {
ccb 835 dev/ic/bha.c s1 = &ccb->scsi_sense;
ccb 845 dev/ic/bha.c sc->sc_dev.dv_xname, ccb->target_stat);
ccb 852 dev/ic/bha.c bha_free_ccb(sc, ccb);
ccb 1350 dev/ic/bha.c struct bha_ccb *ccb;
ccb 1399 dev/ic/bha.c if ((ccb = bha_get_ccb(sc, flags)) == NULL) {
ccb 1419 dev/ic/bha.c ccb->xs = xs;
ccb 1420 dev/ic/bha.c ccb->timeout = xs->timeout;
ccb 1426 dev/ic/bha.c ccb->opcode = BHA_RESET_CCB;
ccb 1427 dev/ic/bha.c ccb->scsi_cmd_length = 0;
ccb 1430 dev/ic/bha.c ccb->opcode = (xs->datalen ? BHA_INIT_SCAT_GATH_CCB
ccb 1432 dev/ic/bha.c bcopy(xs->cmd, &ccb->scsi_cmd,
ccb 1433 dev/ic/bha.c ccb->scsi_cmd_length = xs->cmdlen);
ccb 1443 dev/ic/bha.c ccb->dmamap_xfer, (struct uio *)xs->data,
ccb 1450 dev/ic/bha.c ccb->dmamap_xfer, xs->data, xs->datalen, NULL,
ccb 1468 dev/ic/bha.c bus_dmamap_sync(dmat, ccb->dmamap_xfer,
ccb 1469 dev/ic/bha.c 0, ccb->dmamap_xfer->dm_mapsize,
ccb 1477 dev/ic/bha.c for (seg = 0; seg < ccb->dmamap_xfer->dm_nsegs; seg++) {
ccb 1478 dev/ic/bha.c ltophys(ccb->dmamap_xfer->dm_segs[seg].ds_addr,
ccb 1479 dev/ic/bha.c ccb->scat_gath[seg].seg_addr);
ccb 1480 dev/ic/bha.c ltophys(ccb->dmamap_xfer->dm_segs[seg].ds_len,
ccb 1481 dev/ic/bha.c ccb->scat_gath[seg].seg_len);
ccb 1485 dev/ic/bha.c BHA_CCB_OFF(ccb) + offsetof(struct bha_ccb, scat_gath),
ccb 1486 dev/ic/bha.c ccb->data_addr);
ccb 1487 dev/ic/bha.c ltophys(ccb->dmamap_xfer->dm_nsegs *
ccb 1488 dev/ic/bha.c sizeof(struct bha_scat_gath), ccb->data_length);
ccb 1493 dev/ic/bha.c ltophys(0, ccb->data_addr);
ccb 1494 dev/ic/bha.c ltophys(0, ccb->data_length);
ccb 1497 dev/ic/bha.c ccb->data_out = 0;
ccb 1498 dev/ic/bha.c ccb->data_in = 0;
ccb 1499 dev/ic/bha.c ccb->target = sc_link->target;
ccb 1500 dev/ic/bha.c ccb->lun = sc_link->lun;
ccb 1502 dev/ic/bha.c BHA_CCB_OFF(ccb) + offsetof(struct bha_ccb, scsi_sense),
ccb 1503 dev/ic/bha.c ccb->sense_ptr);
ccb 1504 dev/ic/bha.c ccb->req_sense_length = sizeof(ccb->scsi_sense);
ccb 1505 dev/ic/bha.c ccb->host_stat = 0x00;
ccb 1506 dev/ic/bha.c ccb->target_stat = 0x00;
ccb 1507 dev/ic/bha.c ccb->link_id = 0;
ccb 1508 dev/ic/bha.c ltophys(0, ccb->link_addr);
ccb 1515 dev/ic/bha.c bha_queue_ccb(sc, ccb);
ccb 1528 dev/ic/bha.c if (bha_poll(sc, xs, ccb->timeout)) {
ccb 1529 dev/ic/bha.c bha_timeout(ccb);
ccb 1530 dev/ic/bha.c if (bha_poll(sc, xs, ccb->timeout))
ccb 1531 dev/ic/bha.c bha_timeout(ccb);
ccb 1537 dev/ic/bha.c bha_free_ccb(sc, ccb);
ccb 1574 dev/ic/bha.c struct bha_ccb *ccb = arg;
ccb 1575 dev/ic/bha.c struct scsi_xfer *xs = ccb->xs;
ccb 1590 dev/ic/bha.c if (ccb->flags & CCB_SENDING) {
ccb 1601 dev/ic/bha.c if (ccb->flags & CCB_ABORT) {
ccb 1608 dev/ic/bha.c ccb->xs->error = XS_TIMEOUT;
ccb 1609 dev/ic/bha.c ccb->timeout = BHA_ABORT_TIMEOUT;
ccb 1610 dev/ic/bha.c ccb->flags |= CCB_ABORT;
ccb 1611 dev/ic/bha.c bha_queue_ccb(sc, ccb);
ccb 148 dev/ic/cac.c struct cac_ccb *ccb;
ccb 185 dev/ic/cac.c ccb = (struct cac_ccb *)sc->sc_ccbs;
ccb 187 dev/ic/cac.c for (i = 0; i < CAC_MAX_CCBS; i++, ccb++) {
ccb 192 dev/ic/cac.c &ccb->ccb_dmamap_xfer);
ccb 200 dev/ic/cac.c ccb->ccb_paddr = sc->sc_ccbs_paddr + i * sizeof(struct cac_ccb);
ccb 201 dev/ic/cac.c SIMPLEQ_INSERT_TAIL(&sc->sc_ccb_free, ccb, ccb_chain);
ccb 297 dev/ic/cac.c struct cac_ccb *ccb;
ccb 304 dev/ic/cac.c while ((ccb = (*sc->sc_cl->cl_completed)(sc)) != NULL) {
ccb 306 dev/ic/cac.c cac_ccb_done(sc, ccb);
ccb 320 dev/ic/cac.c struct cac_ccb *ccb;
ccb 329 dev/ic/cac.c if ((ccb = cac_ccb_alloc(sc, 0)) == NULL) {
ccb 335 dev/ic/cac.c bus_dmamap_load(sc->sc_dmat, ccb->ccb_dmamap_xfer,
ccb 338 dev/ic/cac.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap_xfer, 0,
ccb 339 dev/ic/cac.c ccb->ccb_dmamap_xfer->dm_mapsize,
ccb 343 dev/ic/cac.c sgb = ccb->ccb_seg;
ccb 344 dev/ic/cac.c nsegs = ccb->ccb_dmamap_xfer->dm_nsegs;
ccb 350 dev/ic/cac.c size += ccb->ccb_dmamap_xfer->dm_segs[i].ds_len;
ccb 352 dev/ic/cac.c htole32(ccb->ccb_dmamap_xfer->dm_segs[i].ds_len);
ccb 354 dev/ic/cac.c htole32(ccb->ccb_dmamap_xfer->dm_segs[i].ds_addr);
ccb 361 dev/ic/cac.c ccb->ccb_hdr.drive = drive;
ccb 362 dev/ic/cac.c ccb->ccb_hdr.priority = 0;
ccb 363 dev/ic/cac.c ccb->ccb_hdr.size = htole16((sizeof(struct cac_req) +
ccb 366 dev/ic/cac.c ccb->ccb_req.next = 0;
ccb 367 dev/ic/cac.c ccb->ccb_req.command = command;
ccb 368 dev/ic/cac.c ccb->ccb_req.error = 0;
ccb 369 dev/ic/cac.c ccb->ccb_req.blkno = htole32(blkno);
ccb 370 dev/ic/cac.c ccb->ccb_req.bcount = htole16(howmany(size, DEV_BSIZE));
ccb 371 dev/ic/cac.c ccb->ccb_req.sgcount = nsegs;
ccb 372 dev/ic/cac.c ccb->ccb_req.reserved = 0;
ccb 374 dev/ic/cac.c ccb->ccb_flags = flags;
ccb 375 dev/ic/cac.c ccb->ccb_datasize = size;
ccb 376 dev/ic/cac.c ccb->ccb_xs = xs;
ccb 382 dev/ic/cac.c cac_ccb_free(sc, ccb);
ccb 385 dev/ic/cac.c ccb->ccb_flags |= CAC_CCB_ACTIVE;
ccb 386 dev/ic/cac.c (*sc->sc_cl->cl_submit)(sc, ccb);
ccb 387 dev/ic/cac.c rv = cac_ccb_poll(sc, ccb, 2000);
ccb 390 dev/ic/cac.c rv = cac_ccb_start(sc, ccb);
ccb 401 dev/ic/cac.c struct cac_ccb *ccb;
ccb 406 dev/ic/cac.c if ((ccb = (*sc->sc_cl->cl_completed)(sc)) != NULL)
ccb 412 dev/ic/cac.c cac_ccb_done(sc, ccb);
ccb 413 dev/ic/cac.c } while (ccb != wantccb);
ccb 423 dev/ic/cac.c cac_ccb_start(struct cac_softc *sc, struct cac_ccb *ccb)
ccb 425 dev/ic/cac.c if (ccb != NULL)
ccb 426 dev/ic/cac.c SIMPLEQ_INSERT_TAIL(&sc->sc_ccb_queue, ccb, ccb_chain);
ccb 428 dev/ic/cac.c while ((ccb = SIMPLEQ_FIRST(&sc->sc_ccb_queue)) != NULL &&
ccb 431 dev/ic/cac.c ccb->ccb_flags |= CAC_CCB_ACTIVE;
ccb 432 dev/ic/cac.c (*sc->sc_cl->cl_submit)(sc, ccb);
ccb 442 dev/ic/cac.c cac_ccb_done(struct cac_softc *sc, struct cac_ccb *ccb)
ccb 444 dev/ic/cac.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 447 dev/ic/cac.c if ((ccb->ccb_flags & CAC_CCB_ACTIVE) == 0) {
ccb 456 dev/ic/cac.c if ((ccb->ccb_flags & (CAC_CCB_DATA_IN | CAC_CCB_DATA_OUT)) != 0) {
ccb 457 dev/ic/cac.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap_xfer, 0,
ccb 458 dev/ic/cac.c ccb->ccb_dmamap_xfer->dm_mapsize,
ccb 459 dev/ic/cac.c ccb->ccb_flags & CAC_CCB_DATA_IN ?
ccb 461 dev/ic/cac.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap_xfer);
ccb 464 dev/ic/cac.c if ((ccb->ccb_req.error & CAC_RET_SOFT_ERROR) != 0)
ccb 466 dev/ic/cac.c if ((ccb->ccb_req.error & CAC_RET_HARD_ERROR) != 0) {
ccb 470 dev/ic/cac.c if ((ccb->ccb_req.error & CAC_RET_CMD_REJECTED) != 0) {
ccb 475 dev/ic/cac.c cac_ccb_free(sc, ccb);
ccb 493 dev/ic/cac.c struct cac_ccb *ccb;
ccb 495 dev/ic/cac.c if ((ccb = SIMPLEQ_FIRST(&sc->sc_ccb_free)) != NULL)
ccb 498 dev/ic/cac.c ccb = NULL;
ccb 499 dev/ic/cac.c return (ccb);
ccb 506 dev/ic/cac.c cac_ccb_free(struct cac_softc *sc, struct cac_ccb *ccb)
ccb 509 dev/ic/cac.c ccb->ccb_flags = 0;
ccb 510 dev/ic/cac.c SIMPLEQ_INSERT_HEAD(&sc->sc_ccb_free, ccb, ccb_chain);
ccb 732 dev/ic/cac.c cac_l0_submit(struct cac_softc *sc, struct cac_ccb *ccb)
ccb 735 dev/ic/cac.c printf("submit-%x ", ccb->ccb_paddr);
ccb 740 dev/ic/cac.c cac_outl(sc, CAC_REG_CMD_FIFO, ccb->ccb_paddr);
ccb 747 dev/ic/cac.c struct cac_ccb *ccb;
ccb 755 dev/ic/cac.c if (off & 3 && ccb->ccb_req.error == 0)
ccb 756 dev/ic/cac.c ccb->ccb_req.error = CAC_RET_CMD_INVALID;
ccb 759 dev/ic/cac.c ccb = (struct cac_ccb *)(sc->sc_ccbs + off);
ccb 765 dev/ic/cac.c return (ccb);
ccb 107 dev/ic/ciss.c void ciss_put_ccb(struct ciss_ccb *ccb);
ccb 108 dev/ic/ciss.c int ciss_cmd(struct ciss_ccb *ccb, int flags, int wait);
ccb 109 dev/ic/ciss.c int ciss_done(struct ciss_ccb *ccb);
ccb 110 dev/ic/ciss.c int ciss_error(struct ciss_ccb *ccb);
ccb 123 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 125 dev/ic/ciss.c if ((ccb = TAILQ_LAST(&sc->sc_free_ccb, ciss_queue_head))) {
ccb 126 dev/ic/ciss.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, ccb_link);
ccb 127 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_READY;
ccb 129 dev/ic/ciss.c return ccb;
ccb 133 dev/ic/ciss.c ciss_put_ccb(struct ciss_ccb *ccb)
ccb 135 dev/ic/ciss.c struct ciss_softc *sc = ccb->ccb_sc;
ccb 137 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_FREE;
ccb 138 dev/ic/ciss.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, ccb_link);
ccb 146 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 228 dev/ic/ciss.c sizeof(ccb->ccb_cmd.sgl[0]) * (sc->maxsg - 1);
ccb 266 dev/ic/ciss.c ccb = sc->ccbs + i * sc->ccblen;
ccb 267 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 270 dev/ic/ciss.c ccb->ccb_sc = sc;
ccb 271 dev/ic/ciss.c ccb->ccb_cmdpa = pa + offsetof(struct ciss_ccb, ccb_cmd);
ccb 272 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_FREE;
ccb 278 dev/ic/ciss.c cmd->err_len = htole32(sizeof(ccb->ccb_err));
ccb 284 dev/ic/ciss.c &ccb->ccb_dmamap)))
ccb 287 dev/ic/ciss.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, ccb_link);
ccb 480 dev/ic/ciss.c ciss_cmd(struct ciss_ccb *ccb, int flags, int wait)
ccb 482 dev/ic/ciss.c struct ciss_softc *sc = ccb->ccb_sc;
ccb 483 dev/ic/ciss.c struct ciss_cmd *cmd = &ccb->ccb_cmd;
ccb 485 dev/ic/ciss.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 489 dev/ic/ciss.c if (ccb->ccb_state != CISS_CCB_READY) {
ccb 491 dev/ic/ciss.c cmd->id, ccb->ccb_state, CISS_CCB_BITS);
ccb 495 dev/ic/ciss.c if (ccb->ccb_data) {
ccb 498 dev/ic/ciss.c if ((error = bus_dmamap_load(sc->dmat, dmap, ccb->ccb_data,
ccb 499 dev/ic/ciss.c ccb->ccb_len, NULL, flags))) {
ccb 504 dev/ic/ciss.c ciss_put_ccb(ccb);
ccb 511 dev/ic/ciss.c ccb->ccb_data, ccb->ccb_len, sgd->ds_addr, sgd->ds_len));
ccb 531 dev/ic/ciss.c bzero(&ccb->ccb_err, sizeof(ccb->ccb_err));
ccb 540 dev/ic/ciss.c TAILQ_INSERT_TAIL(&sc->sc_ccbq, ccb, ccb_link);
ccb 541 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_ONQ;
ccb 543 dev/ic/ciss.c bus_space_write_4(sc->iot, sc->ioh, CISS_INQ, ccb->ccb_cmdpa);
ccb 550 dev/ic/ciss.c i = ccb->ccb_xs? ccb->ccb_xs->timeout : 60000;
ccb 558 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_POLL;
ccb 560 dev/ic/ciss.c if (tsleep(ccb, PRIBIO + 1, "ciss_cmd",
ccb 564 dev/ic/ciss.c if (ccb->ccb_state != CISS_CCB_ONQ) {
ccb 571 dev/ic/ciss.c ccb1 = ccb;
ccb 593 dev/ic/ciss.c if (ccb1 == ccb)
ccb 598 dev/ic/ciss.c if (ccb->ccb_state != CISS_CCB_FREE) {
ccb 599 dev/ic/ciss.c ccb->ccb_err.cmd_stat = CISS_ERR_TMO;
ccb 600 dev/ic/ciss.c error = ciss_done(ccb);
ccb 604 dev/ic/ciss.c ccb->ccb_err.cmd_stat, ccb->ccb_err.scsi_stat));
ccb 615 dev/ic/ciss.c ciss_done(struct ciss_ccb *ccb)
ccb 617 dev/ic/ciss.c struct ciss_softc *sc = ccb->ccb_sc;
ccb 618 dev/ic/ciss.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 622 dev/ic/ciss.c CISS_DPRINTF(CISS_D_CMD, ("ciss_done(%p) ", ccb));
ccb 624 dev/ic/ciss.c if (ccb->ccb_state != CISS_CCB_ONQ) {
ccb 626 dev/ic/ciss.c sc->sc_dev.dv_xname, ccb, ccb->ccb_state, CISS_CCB_BITS);
ccb 631 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_READY;
ccb 632 dev/ic/ciss.c TAILQ_REMOVE(&sc->sc_ccbq, ccb, ccb_link);
ccb 634 dev/ic/ciss.c if (ccb->ccb_cmd.id & CISS_CMD_ERR)
ccb 635 dev/ic/ciss.c error = ciss_error(ccb);
ccb 637 dev/ic/ciss.c if (ccb->ccb_data) {
ccb 638 dev/ic/ciss.c bus_dmamap_sync(sc->dmat, ccb->ccb_dmamap, 0,
ccb 639 dev/ic/ciss.c ccb->ccb_dmamap->dm_mapsize, (xs->flags & SCSI_DATA_IN) ?
ccb 641 dev/ic/ciss.c bus_dmamap_unload(sc->dmat, ccb->ccb_dmamap);
ccb 642 dev/ic/ciss.c ccb->ccb_xs = NULL;
ccb 643 dev/ic/ciss.c ccb->ccb_data = NULL;
ccb 646 dev/ic/ciss.c ciss_put_ccb(ccb);
ccb 660 dev/ic/ciss.c ciss_error(struct ciss_ccb *ccb)
ccb 662 dev/ic/ciss.c struct ciss_softc *sc = ccb->ccb_sc;
ccb 663 dev/ic/ciss.c struct ciss_error *err = &ccb->ccb_err;
ccb 664 dev/ic/ciss.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 674 dev/ic/ciss.c sc->sc_dev.dv_xname, ccb->ccb_cmd.id,
ccb 718 dev/ic/ciss.c ccb->ccb_cmd.id &= htole32(~3);
ccb 726 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 729 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 730 dev/ic/ciss.c ccb->ccb_len = sizeof(*inq);
ccb 731 dev/ic/ciss.c ccb->ccb_data = inq;
ccb 732 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 744 dev/ic/ciss.c return ciss_cmd(ccb, BUS_DMA_NOWAIT, SCSI_POLL|SCSI_NOSLEEP);
ccb 750 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 761 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 762 dev/ic/ciss.c ccb->ccb_len = total;
ccb 763 dev/ic/ciss.c ccb->ccb_data = lmap;
ccb 764 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 775 dev/ic/ciss.c rv = ciss_cmd(ccb, BUS_DMA_NOWAIT, SCSI_POLL|SCSI_NOSLEEP);
ccb 790 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 801 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 802 dev/ic/ciss.c ccb->ccb_len = sizeof(*flush);
ccb 803 dev/ic/ciss.c ccb->ccb_data = flush;
ccb 804 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 816 dev/ic/ciss.c rv = ciss_cmd(ccb, BUS_DMA_NOWAIT, SCSI_POLL|SCSI_NOSLEEP);
ccb 828 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 852 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 853 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 854 dev/ic/ciss.c ccb->ccb_len = xs->datalen;
ccb 855 dev/ic/ciss.c ccb->ccb_data = xs->data;
ccb 856 dev/ic/ciss.c ccb->ccb_xs = xs;
ccb 870 dev/ic/ciss.c if (ciss_cmd(ccb, BUS_DMA_WAITOK,
ccb 888 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 912 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 913 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 914 dev/ic/ciss.c ccb->ccb_len = xs->datalen;
ccb 915 dev/ic/ciss.c ccb->ccb_data = xs->data;
ccb 916 dev/ic/ciss.c ccb->ccb_xs = xs;
ccb 929 dev/ic/ciss.c if (ciss_cmd(ccb, BUS_DMA_WAITOK,
ccb 945 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 959 dev/ic/ciss.c ccb = sc->ccbs + (id >> 2) * sc->ccblen;
ccb 960 dev/ic/ciss.c ccb->ccb_cmd.id = htole32(id);
ccb 961 dev/ic/ciss.c if (ccb->ccb_state == CISS_CCB_POLL) {
ccb 962 dev/ic/ciss.c ccb->ccb_state = CISS_CCB_ONQ;
ccb 963 dev/ic/ciss.c wakeup(ccb);
ccb 965 dev/ic/ciss.c ciss_done(ccb);
ccb 1234 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 1237 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 1238 dev/ic/ciss.c if (ccb == NULL)
ccb 1240 dev/ic/ciss.c ccb->ccb_len = sizeof(*id);
ccb 1241 dev/ic/ciss.c ccb->ccb_data = id;
ccb 1242 dev/ic/ciss.c ccb->ccb_xs = NULL;
ccb 1243 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 1256 dev/ic/ciss.c return ciss_cmd(ccb, BUS_DMA_NOWAIT, SCSI_POLL);
ccb 1262 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 1265 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 1266 dev/ic/ciss.c if (ccb == NULL)
ccb 1268 dev/ic/ciss.c ccb->ccb_len = sizeof(*stat);
ccb 1269 dev/ic/ciss.c ccb->ccb_data = stat;
ccb 1270 dev/ic/ciss.c ccb->ccb_xs = NULL;
ccb 1271 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 1284 dev/ic/ciss.c return ciss_cmd(ccb, BUS_DMA_NOWAIT, SCSI_POLL);
ccb 1290 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 1293 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 1294 dev/ic/ciss.c if (ccb == NULL)
ccb 1296 dev/ic/ciss.c ccb->ccb_len = sizeof(*id);
ccb 1297 dev/ic/ciss.c ccb->ccb_data = id;
ccb 1298 dev/ic/ciss.c ccb->ccb_xs = NULL;
ccb 1299 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 1312 dev/ic/ciss.c return ciss_cmd(ccb, BUS_DMA_NOWAIT, wait);
ccb 1349 dev/ic/ciss.c struct ciss_ccb *ccb;
ccb 1364 dev/ic/ciss.c ccb = ciss_get_ccb(sc);
ccb 1365 dev/ic/ciss.c if (ccb == NULL)
ccb 1367 dev/ic/ciss.c ccb->ccb_len = sizeof(*blink);
ccb 1368 dev/ic/ciss.c ccb->ccb_data = blink;
ccb 1369 dev/ic/ciss.c ccb->ccb_xs = NULL;
ccb 1370 dev/ic/ciss.c cmd = &ccb->ccb_cmd;
ccb 1382 dev/ic/ciss.c return ciss_cmd(ccb, BUS_DMA_NOWAIT, SCSI_POLL);
ccb 159 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 239 dev/ic/dpt.c ccb = sc->sc_ccbs + sp->sp_ccbid;
ccb 242 dev/ic/dpt.c CCB_OFF(sc, ccb), sizeof(struct dpt_ccb),
ccb 245 dev/ic/dpt.c ccb->ccb_hba_status = sp->sp_hba_status & 0x7F;
ccb 246 dev/ic/dpt.c ccb->ccb_scsi_status = sp->sp_scsi_status;
ccb 253 dev/ic/dpt.c ccb->ccb_flg |= CCB_INTR;
ccb 255 dev/ic/dpt.c if ((ccb->ccb_flg & CCB_PRIVATE) == 0)
ccb 256 dev/ic/dpt.c dpt_done_ccb(sc, ccb);
ccb 520 dev/ic/dpt.c dpt_poll(sc, ccb)
ccb 522 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 527 dev/ic/dpt.c if ((ccb->ccb_flg & CCB_PRIVATE) == 0)
ccb 531 dev/ic/dpt.c if ((ccb->ccb_flg & CCB_INTR) != 0)
ccb 534 dev/ic/dpt.c for (i = ccb->ccb_timeout * 20; i; i--) {
ccb 537 dev/ic/dpt.c if ((ccb->ccb_flg & CCB_INTR) != 0)
ccb 671 dev/ic/dpt.c dpt_free_ccb(sc, ccb)
ccb 673 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 678 dev/ic/dpt.c ccb->ccb_flg = 0;
ccb 679 dev/ic/dpt.c TAILQ_INSERT_HEAD(&sc->sc_free_ccb, ccb, ccb_chain);
ccb 682 dev/ic/dpt.c if (TAILQ_NEXT(ccb, ccb_chain) == NULL)
ccb 691 dev/ic/dpt.c dpt_init_ccb(sc, ccb)
ccb 693 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 700 dev/ic/dpt.c &ccb->ccb_dmamap_xfer);
ccb 708 dev/ic/dpt.c ccb->ccb_flg = 0;
ccb 709 dev/ic/dpt.c ccb->ccb_ccbpa = sc->sc_dmamap_ccb->dm_segs[0].ds_addr +
ccb 710 dev/ic/dpt.c CCB_OFF(sc, ccb);
ccb 723 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 728 dev/ic/dpt.c for (i = 0, ccb = ccbstore; i < count; i++, ccb++) {
ccb 729 dev/ic/dpt.c if ((error = dpt_init_ccb(sc, ccb)) != 0) {
ccb 734 dev/ic/dpt.c ccb->ccb_id = i;
ccb 735 dev/ic/dpt.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, ccb_chain);
ccb 751 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 757 dev/ic/dpt.c ccb = TAILQ_FIRST(&sc->sc_free_ccb);
ccb 758 dev/ic/dpt.c if (ccb) {
ccb 759 dev/ic/dpt.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, ccb_chain);
ccb 774 dev/ic/dpt.c ccb->ccb_flg |= CCB_ALLOC;
ccb 776 dev/ic/dpt.c return (ccb);
ccb 785 dev/ic/dpt.c dpt_done_ccb(sc, ccb)
ccb 787 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 800 dev/ic/dpt.c xs = ccb->ccb_xs;
ccb 809 dev/ic/dpt.c bus_dmamap_sync(dmat, ccb->ccb_dmamap_xfer, 0,
ccb 810 dev/ic/dpt.c ccb->ccb_dmamap_xfer->dm_mapsize,
ccb 813 dev/ic/dpt.c bus_dmamap_unload(dmat, ccb->ccb_dmamap_xfer);
ccb 821 dev/ic/dpt.c if ((ccb->ccb_flg & CCB_ALLOC) == 0) {
ccb 828 dev/ic/dpt.c if (ccb->ccb_hba_status != HA_NO_ERROR) {
ccb 829 dev/ic/dpt.c switch (ccb->ccb_hba_status) {
ccb 838 dev/ic/dpt.c sc->sc_dv.dv_xname, ccb->ccb_hba_status);
ccb 841 dev/ic/dpt.c } else if (ccb->ccb_scsi_status != SCSI_OK) {
ccb 842 dev/ic/dpt.c switch (ccb->ccb_scsi_status) {
ccb 844 dev/ic/dpt.c s1 = &ccb->ccb_sense;
ccb 859 dev/ic/dpt.c sc->sc_dv.dv_xname, ccb->ccb_scsi_status);
ccb 865 dev/ic/dpt.c xs->status = ccb->ccb_scsi_status;
ccb 869 dev/ic/dpt.c dpt_free_ccb(sc, ccb);
ccb 956 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 1052 dev/ic/dpt.c if ((ccb = dpt_alloc_ccb(sc, flags)) == NULL) {
ccb 1055 dev/ic/dpt.c if ((ccb = dpt_alloc_ccb(sc, xs->flags)) == NULL) {
ccb 1082 dev/ic/dpt.c ccb->ccb_xs = xs;
ccb 1083 dev/ic/dpt.c ccb->ccb_timeout = xs->timeout;
ccb 1085 dev/ic/dpt.c cp = &ccb->ccb_eata_cp;
ccb 1092 dev/ic/dpt.c cp->cp_ccbid = ccb->ccb_id;
ccb 1103 dev/ic/dpt.c cp->cp_senselen = sizeof(ccb->ccb_sense);
ccb 1127 dev/ic/dpt.c CCB_OFF(sc, ccb) + offsetof(struct dpt_ccb, ccb_sense));
ccb 1130 dev/ic/dpt.c xfer = ccb->ccb_dmamap_xfer;
ccb 1167 dev/ic/dpt.c dpt_free_ccb(sc, ccb);
ccb 1185 dev/ic/dpt.c sg = ccb->ccb_sg;
ccb 1192 dev/ic/dpt.c cp->cp_dataaddr = htobe32(CCB_OFF(sc, ccb) +
ccb 1205 dev/ic/dpt.c bus_dmamap_sync(sc->sc_dmat, sc->sc_dmamap_ccb, CCB_OFF(sc, ccb),
ccb 1216 dev/ic/dpt.c ccb->ccb_flg |= CCB_PRIVATE;
ccb 1218 dev/ic/dpt.c if (dpt_cmd(sc, &ccb->ccb_eata_cp, ccb->ccb_ccbpa, CP_DMA_CMD, 0)) {
ccb 1220 dev/ic/dpt.c dpt_free_ccb(sc, ccb);
ccb 1228 dev/ic/dpt.c if (dpt_poll(sc, ccb)) {
ccb 1229 dev/ic/dpt.c dpt_timeout(ccb);
ccb 1231 dev/ic/dpt.c if (dpt_poll(sc, ccb))
ccb 1232 dev/ic/dpt.c dpt_timeout(ccb);
ccb 1235 dev/ic/dpt.c dpt_done_ccb(sc, ccb);
ccb 1255 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 1258 dev/ic/dpt.c ccb = arg;
ccb 1259 dev/ic/dpt.c xs = ccb->ccb_xs;
ccb 1274 dev/ic/dpt.c if ((ccb->ccb_flg & CCB_ABORT) != 0) {
ccb 1282 dev/ic/dpt.c ccb->ccb_xs->error = XS_TIMEOUT;
ccb 1283 dev/ic/dpt.c ccb->ccb_timeout = DPT_ABORT_TIMEOUT;
ccb 1284 dev/ic/dpt.c ccb->ccb_flg |= CCB_ABORT;
ccb 1286 dev/ic/dpt.c if (dpt_cmd(sc, &ccb->ccb_eata_cp, ccb->ccb_ccbpa,
ccb 1328 dev/ic/dpt.c struct dpt_ccb *ccb;
ccb 1336 dev/ic/dpt.c if ((ccb = dpt_alloc_ccb(sc, 0)) == NULL)
ccb 1339 dev/ic/dpt.c ccb->ccb_flg |= CCB_PRIVATE;
ccb 1340 dev/ic/dpt.c ccb->ccb_timeout = 200;
ccb 1343 dev/ic/dpt.c cp = &ccb->ccb_eata_cp;
ccb 1344 dev/ic/dpt.c cp->cp_ccbid = ccb->ccb_id;
ccb 1348 dev/ic/dpt.c cp->cp_senselen = sizeof(ccb->ccb_sense);
ccb 1368 dev/ic/dpt.c bus_dmamap_sync(sc->sc_dmat, sc->sc_dmamap_ccb, CCB_OFF(sc, ccb),
ccb 1376 dev/ic/dpt.c if (dpt_cmd(sc, &ccb->ccb_eata_cp, ccb->ccb_ccbpa, CP_DMA_CMD, 0))
ccb 1379 dev/ic/dpt.c if (dpt_poll(sc, ccb))
ccb 1382 dev/ic/dpt.c if (ccb->ccb_hba_status != HA_NO_ERROR ||
ccb 1383 dev/ic/dpt.c ccb->ccb_scsi_status != SCSI_OK)
ccb 1385 dev/ic/dpt.c sc->sc_dv.dv_xname, ccb->ccb_hba_status,
ccb 1386 dev/ic/dpt.c ccb->ccb_scsi_status);
ccb 1391 dev/ic/dpt.c dpt_free_ccb(sc, ccb);
ccb 595 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 632 dev/ic/gdt_common.c ccb = NULL;
ccb 721 dev/ic/gdt_common.c ccb = gdt_get_ccb(gdt, xs->flags);
ccb 725 dev/ic/gdt_common.c if (ccb == NULL) {
ccb 730 dev/ic/gdt_common.c ccb->gc_blockno = blockno;
ccb 731 dev/ic/gdt_common.c ccb->gc_blockcnt = blockcnt;
ccb 732 dev/ic/gdt_common.c ccb->gc_xs = xs;
ccb 733 dev/ic/gdt_common.c ccb->gc_timeout = xs->timeout;
ccb 734 dev/ic/gdt_common.c ccb->gc_service = GDT_CACHESERVICE;
ccb 735 dev/ic/gdt_common.c gdt_ccb_set_cmd(ccb, GDT_GCF_SCSI);
ccb 738 dev/ic/gdt_common.c xfer = ccb->gc_dmamap_xfer;
ccb 755 dev/ic/gdt_common.c gdt_free_ccb(gdt, ccb);
ccb 768 dev/ic/gdt_common.c gdt_enqueue_ccb(gdt, ccb);
ccb 771 dev/ic/gdt_common.c if (!gdt_wait(gdt, ccb, ccb->gc_timeout)) {
ccb 775 dev/ic/gdt_common.c ccb->gc_cmd_index);
ccb 799 dev/ic/gdt_common.c gdt_exec_ccb(ccb)
ccb 800 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 802 dev/ic/gdt_common.c struct scsi_xfer *xs = ccb->gc_xs;
ccb 815 dev/ic/gdt_common.c GDT_DPRINTF(GDT_D_CMD, ("gdt_exec_ccb(%p, %p) ", xs, ccb));
ccb 826 dev/ic/gdt_common.c gdt_enc32(gdt->sc_cmd + GDT_CMD_COMMANDINDEX, ccb->gc_cmd_index);
ccb 861 dev/ic/gdt_common.c ccb->gc_blockno);
ccb 863 dev/ic/gdt_common.c ccb->gc_blockcnt);
ccb 865 dev/ic/gdt_common.c xfer = ccb->gc_dmamap_xfer;
ccb 906 dev/ic/gdt_common.c gdt_free_ccb(gdt, ccb);
ccb 914 dev/ic/gdt_common.c gdt->sc_copy_cmd(gdt, ccb);
ccb 915 dev/ic/gdt_common.c gdt->sc_release_event(gdt, ccb);
ccb 1021 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1039 dev/ic/gdt_common.c if ((ccb = gdt_get_ccb(gdt, xs->flags)) == NULL) {
ccb 1052 dev/ic/gdt_common.c gdt_free_ccb(gdt, ccb);
ccb 1129 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1175 dev/ic/gdt_common.c ccb = &gdt->sc_ccbs[ctx.istatus - 2];
ccb 1176 dev/ic/gdt_common.c xs = ccb->gc_xs;
ccb 1179 dev/ic/gdt_common.c ctx.service = ccb->gc_service;
ccb 1180 dev/ic/gdt_common.c prev_cmd = ccb->gc_flags & GDT_GCF_CMD_MASK;
ccb 1183 dev/ic/gdt_common.c bus_dmamap_sync(gdt->sc_dmat, ccb->gc_dmamap_xfer, 0,
ccb 1184 dev/ic/gdt_common.c ccb->gc_dmamap_xfer->dm_mapsize,
ccb 1187 dev/ic/gdt_common.c bus_dmamap_unload(gdt->sc_dmat, ccb->gc_dmamap_xfer);
ccb 1189 dev/ic/gdt_common.c gdt_free_ccb(gdt, ccb);
ccb 1236 dev/ic/gdt_common.c gdt_wait(gdt, ccb, timeout)
ccb 1238 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1244 dev/ic/gdt_common.c ("gdt_wait(%p, %p, %d) ", gdt, ccb, timeout));
ccb 1249 dev/ic/gdt_common.c ccb->gc_cmd_index == gdt_wait_index) {
ccb 1271 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1279 dev/ic/gdt_common.c ccb = gdt_get_ccb(gdt, SCSI_NOSLEEP);
ccb 1280 dev/ic/gdt_common.c if (ccb == NULL) {
ccb 1285 dev/ic/gdt_common.c ccb->gc_service = service;
ccb 1286 dev/ic/gdt_common.c gdt_ccb_set_cmd(ccb, GDT_GCF_INTERNAL);
ccb 1290 dev/ic/gdt_common.c ccb->gc_cmd_index);
ccb 1328 dev/ic/gdt_common.c gdt->sc_copy_cmd(gdt, ccb);
ccb 1329 dev/ic/gdt_common.c gdt->sc_release_event(gdt, ccb);
ccb 1331 dev/ic/gdt_common.c if (!gdt_wait(gdt, ccb, GDT_POLL_TIMEOUT))
ccb 1345 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1353 dev/ic/gdt_common.c ccb = TAILQ_FIRST(&gdt->sc_free_ccb);
ccb 1354 dev/ic/gdt_common.c if (ccb != NULL)
ccb 1361 dev/ic/gdt_common.c TAILQ_REMOVE(&gdt->sc_free_ccb, ccb, gc_chain);
ccb 1365 dev/ic/gdt_common.c return (ccb);
ccb 1369 dev/ic/gdt_common.c gdt_free_ccb(gdt, ccb)
ccb 1371 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1375 dev/ic/gdt_common.c GDT_DPRINTF(GDT_D_QUEUE, ("gdt_free_ccb(%p, %p) ", gdt, ccb));
ccb 1379 dev/ic/gdt_common.c TAILQ_INSERT_HEAD(&gdt->sc_free_ccb, ccb, gc_chain);
ccb 1382 dev/ic/gdt_common.c if (TAILQ_NEXT(ccb, gc_chain) == NULL)
ccb 1389 dev/ic/gdt_common.c gdt_enqueue_ccb(gdt, ccb)
ccb 1391 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1393 dev/ic/gdt_common.c GDT_DPRINTF(GDT_D_QUEUE, ("gdt_enqueue_ccb(%p, %p) ", gdt, ccb));
ccb 1395 dev/ic/gdt_common.c timeout_set(&ccb->gc_xs->stimeout, gdt_timeout, ccb);
ccb 1396 dev/ic/gdt_common.c TAILQ_INSERT_TAIL(&gdt->sc_ccbq, ccb, gc_chain);
ccb 1404 dev/ic/gdt_common.c struct gdt_ccb *ccb;
ccb 1409 dev/ic/gdt_common.c while ((ccb = TAILQ_FIRST(&gdt->sc_ccbq)) != NULL) {
ccb 1411 dev/ic/gdt_common.c xs = ccb->gc_xs;
ccb 1412 dev/ic/gdt_common.c if (ccb->gc_flags & GDT_GCF_WATCHDOG)
ccb 1415 dev/ic/gdt_common.c if (gdt_exec_ccb(ccb) == 0) {
ccb 1416 dev/ic/gdt_common.c ccb->gc_flags |= GDT_GCF_WATCHDOG;
ccb 1417 dev/ic/gdt_common.c timeout_set(&ccb->gc_xs->stimeout, gdt_watchdog, ccb);
ccb 1422 dev/ic/gdt_common.c TAILQ_REMOVE(&gdt->sc_ccbq, ccb, gc_chain);
ccb 1425 dev/ic/gdt_common.c timeout_set(&ccb->gc_xs->stimeout, gdt_timeout, ccb);
ccb 1427 dev/ic/gdt_common.c (ccb->gc_timeout * hz) / 1000);
ccb 1446 dev/ic/gdt_common.c struct gdt_ccb *ccb = arg;
ccb 1447 dev/ic/gdt_common.c struct scsi_link *link = ccb->gc_xs->sc_link;
ccb 1456 dev/ic/gdt_common.c ccb->gc_xs->error = XS_TIMEOUT;
ccb 1458 dev/ic/gdt_common.c gdt_enqueue_ccb(gdt, ccb);
ccb 1466 dev/ic/gdt_common.c struct gdt_ccb *ccb = arg;
ccb 1467 dev/ic/gdt_common.c struct scsi_link *link = ccb->gc_xs->sc_link;
ccb 1472 dev/ic/gdt_common.c ccb->gc_flags &= ~GDT_GCF_WATCHDOG;
ccb 261 dev/ic/gdtvar.h gdt_ccb_set_cmd(ccb, flag)
ccb 262 dev/ic/gdtvar.h struct gdt_ccb *ccb;
ccb 265 dev/ic/gdtvar.h int rv = ccb->gc_flags & GDT_GCF_CMD_MASK;
ccb 267 dev/ic/gdtvar.h ccb->gc_flags &= ~GDT_GCF_CMD_MASK;
ccb 268 dev/ic/gdtvar.h ccb->gc_flags |= flag;
ccb 116 dev/ic/mfi.c struct mfi_ccb *ccb;
ccb 120 dev/ic/mfi.c ccb = TAILQ_FIRST(&sc->sc_ccb_freeq);
ccb 121 dev/ic/mfi.c if (ccb) {
ccb 122 dev/ic/mfi.c TAILQ_REMOVE(&sc->sc_ccb_freeq, ccb, ccb_link);
ccb 123 dev/ic/mfi.c ccb->ccb_state = MFI_CCB_READY;
ccb 127 dev/ic/mfi.c DNPRINTF(MFI_D_CCB, "%s: mfi_get_ccb: %p\n", DEVNAME(sc), ccb);
ccb 129 dev/ic/mfi.c return (ccb);
ccb 133 dev/ic/mfi.c mfi_put_ccb(struct mfi_ccb *ccb)
ccb 135 dev/ic/mfi.c struct mfi_softc *sc = ccb->ccb_sc;
ccb 138 dev/ic/mfi.c DNPRINTF(MFI_D_CCB, "%s: mfi_put_ccb: %p\n", DEVNAME(sc), ccb);
ccb 141 dev/ic/mfi.c ccb->ccb_state = MFI_CCB_FREE;
ccb 142 dev/ic/mfi.c ccb->ccb_xs = NULL;
ccb 143 dev/ic/mfi.c ccb->ccb_flags = 0;
ccb 144 dev/ic/mfi.c ccb->ccb_done = NULL;
ccb 145 dev/ic/mfi.c ccb->ccb_direction = 0;
ccb 146 dev/ic/mfi.c ccb->ccb_frame_size = 0;
ccb 147 dev/ic/mfi.c ccb->ccb_extra_frames = 0;
ccb 148 dev/ic/mfi.c ccb->ccb_sgl = NULL;
ccb 149 dev/ic/mfi.c ccb->ccb_data = NULL;
ccb 150 dev/ic/mfi.c ccb->ccb_len = 0;
ccb 151 dev/ic/mfi.c TAILQ_INSERT_TAIL(&sc->sc_ccb_freeq, ccb, ccb_link);
ccb 158 dev/ic/mfi.c struct mfi_ccb *ccb;
ccb 169 dev/ic/mfi.c ccb = &sc->sc_ccb[i];
ccb 171 dev/ic/mfi.c ccb->ccb_sc = sc;
ccb 174 dev/ic/mfi.c ccb->ccb_frame = (union mfi_frame *)
ccb 176 dev/ic/mfi.c ccb->ccb_pframe =
ccb 178 dev/ic/mfi.c ccb->ccb_frame->mfr_header.mfh_context = i;
ccb 181 dev/ic/mfi.c ccb->ccb_sense = (struct mfi_sense *)
ccb 183 dev/ic/mfi.c ccb->ccb_psense =
ccb 189 dev/ic/mfi.c BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &ccb->ccb_dmamap);
ccb 198 dev/ic/mfi.c ccb->ccb_frame->mfr_header.mfh_context, ccb,
ccb 199 dev/ic/mfi.c ccb->ccb_frame, ccb->ccb_pframe,
ccb 200 dev/ic/mfi.c ccb->ccb_sense, ccb->ccb_psense,
ccb 201 dev/ic/mfi.c ccb->ccb_dmamap);
ccb 204 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 211 dev/ic/mfi.c ccb = &sc->sc_ccb[i];
ccb 212 dev/ic/mfi.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 368 dev/ic/mfi.c struct mfi_ccb *ccb;
ccb 374 dev/ic/mfi.c if ((ccb = mfi_get_ccb(sc)) == NULL)
ccb 377 dev/ic/mfi.c init = &ccb->ccb_frame->mfr_init;
ccb 391 dev/ic/mfi.c init->mif_qinfo_new_addr_lo = htole32(ccb->ccb_pframe + MFI_FRAME_SIZE);
ccb 398 dev/ic/mfi.c if (mfi_poll(ccb)) {
ccb 403 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 705 dev/ic/mfi.c mfi_despatch_cmd(struct mfi_ccb *ccb)
ccb 708 dev/ic/mfi.c DEVNAME(ccb->ccb_sc));
ccb 710 dev/ic/mfi.c mfi_write(ccb->ccb_sc, MFI_IQP, (ccb->ccb_pframe >> 3) |
ccb 711 dev/ic/mfi.c ccb->ccb_extra_frames);
ccb 717 dev/ic/mfi.c mfi_poll(struct mfi_ccb *ccb)
ccb 722 dev/ic/mfi.c DNPRINTF(MFI_D_CMD, "%s: mfi_poll\n", DEVNAME(ccb->ccb_sc));
ccb 724 dev/ic/mfi.c hdr = &ccb->ccb_frame->mfr_header;
ccb 728 dev/ic/mfi.c mfi_despatch_cmd(ccb);
ccb 736 dev/ic/mfi.c printf("%s: timeout on ccb %d\n", DEVNAME(ccb->ccb_sc),
ccb 738 dev/ic/mfi.c ccb->ccb_flags |= MFI_CCB_F_ERR;
ccb 750 dev/ic/mfi.c struct mfi_ccb *ccb;
ccb 777 dev/ic/mfi.c ccb = &sc->sc_ccb[ctx];
ccb 780 dev/ic/mfi.c ccb->ccb_done(ccb);
ccb 795 dev/ic/mfi.c mfi_scsi_io(struct mfi_ccb *ccb, struct scsi_xfer *xs, uint32_t blockno,
ccb 807 dev/ic/mfi.c io = &ccb->ccb_frame->mfr_io;
ccb 810 dev/ic/mfi.c ccb->ccb_direction = MFI_DATA_IN;
ccb 813 dev/ic/mfi.c ccb->ccb_direction = MFI_DATA_OUT;
ccb 822 dev/ic/mfi.c io->mif_sense_addr_lo = htole32(ccb->ccb_psense);
ccb 825 dev/ic/mfi.c ccb->ccb_done = mfi_scsi_xs_done;
ccb 826 dev/ic/mfi.c ccb->ccb_xs = xs;
ccb 827 dev/ic/mfi.c ccb->ccb_frame_size = MFI_IO_FRAME_SIZE;
ccb 828 dev/ic/mfi.c ccb->ccb_sgl = &io->mif_sgl;
ccb 829 dev/ic/mfi.c ccb->ccb_data = xs->data;
ccb 830 dev/ic/mfi.c ccb->ccb_len = xs->datalen;
ccb 832 dev/ic/mfi.c if (mfi_create_sgl(ccb, (xs->flags & SCSI_NOSLEEP) ?
ccb 840 dev/ic/mfi.c mfi_scsi_xs_done(struct mfi_ccb *ccb)
ccb 842 dev/ic/mfi.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 843 dev/ic/mfi.c struct mfi_softc *sc = ccb->ccb_sc;
ccb 844 dev/ic/mfi.c struct mfi_frame_header *hdr = &ccb->ccb_frame->mfr_header;
ccb 847 dev/ic/mfi.c DEVNAME(sc), ccb, ccb->ccb_frame);
ccb 852 dev/ic/mfi.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 853 dev/ic/mfi.c ccb->ccb_dmamap->dm_mapsize,
ccb 857 dev/ic/mfi.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap);
ccb 869 dev/ic/mfi.c &xs->sense, ccb->ccb_sense);
ccb 871 dev/ic/mfi.c memcpy(&xs->sense, ccb->ccb_sense,
ccb 880 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 885 dev/ic/mfi.c mfi_scsi_ld(struct mfi_ccb *ccb, struct scsi_xfer *xs)
ccb 893 dev/ic/mfi.c pf = &ccb->ccb_frame->mfr_pass;
ccb 903 dev/ic/mfi.c pf->mpf_sense_addr_lo = htole32(ccb->ccb_psense);
ccb 908 dev/ic/mfi.c ccb->ccb_done = mfi_scsi_xs_done;
ccb 909 dev/ic/mfi.c ccb->ccb_xs = xs;
ccb 910 dev/ic/mfi.c ccb->ccb_frame_size = MFI_PASS_FRAME_SIZE;
ccb 911 dev/ic/mfi.c ccb->ccb_sgl = &pf->mpf_sgl;
ccb 914 dev/ic/mfi.c ccb->ccb_direction = xs->flags & SCSI_DATA_IN ?
ccb 917 dev/ic/mfi.c ccb->ccb_direction = MFI_DATA_NONE;
ccb 920 dev/ic/mfi.c ccb->ccb_data = xs->data;
ccb 921 dev/ic/mfi.c ccb->ccb_len = xs->datalen;
ccb 923 dev/ic/mfi.c if (mfi_create_sgl(ccb, (xs->flags & SCSI_NOSLEEP) ?
ccb 937 dev/ic/mfi.c struct mfi_ccb *ccb;
ccb 954 dev/ic/mfi.c if ((ccb = mfi_get_ccb(sc)) == NULL) {
ccb 968 dev/ic/mfi.c if (mfi_scsi_io(ccb, xs, blockno, blockcnt)) {
ccb 969 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 979 dev/ic/mfi.c if (mfi_scsi_io(ccb, xs, blockno, blockcnt)) {
ccb 980 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 986 dev/ic/mfi.c mfi_put_ccb(ccb); /* we don't need this */
ccb 1005 dev/ic/mfi.c if (mfi_scsi_ld(ccb, xs)) {
ccb 1006 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 1015 dev/ic/mfi.c if (mfi_poll(ccb)) {
ccb 1019 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 1030 dev/ic/mfi.c DEVNAME(sc), ccb->ccb_dmamap->dm_nsegs);
ccb 1032 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 1036 dev/ic/mfi.c mfi_despatch_cmd(ccb);
ccb 1039 dev/ic/mfi.c ccb->ccb_dmamap->dm_nsegs);
ccb 1051 dev/ic/mfi.c mfi_create_sgl(struct mfi_ccb *ccb, int flags)
ccb 1053 dev/ic/mfi.c struct mfi_softc *sc = ccb->ccb_sc;
ccb 1060 dev/ic/mfi.c ccb->ccb_data);
ccb 1062 dev/ic/mfi.c if (!ccb->ccb_data)
ccb 1065 dev/ic/mfi.c error = bus_dmamap_load(sc->sc_dmat, ccb->ccb_dmamap,
ccb 1066 dev/ic/mfi.c ccb->ccb_data, ccb->ccb_len, NULL, flags);
ccb 1076 dev/ic/mfi.c hdr = &ccb->ccb_frame->mfr_header;
ccb 1077 dev/ic/mfi.c sgl = ccb->ccb_sgl;
ccb 1078 dev/ic/mfi.c sgd = ccb->ccb_dmamap->dm_segs;
ccb 1079 dev/ic/mfi.c for (i = 0; i < ccb->ccb_dmamap->dm_nsegs; i++) {
ccb 1086 dev/ic/mfi.c if (ccb->ccb_direction == MFI_DATA_IN) {
ccb 1088 dev/ic/mfi.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1089 dev/ic/mfi.c ccb->ccb_dmamap->dm_mapsize, BUS_DMASYNC_PREREAD);
ccb 1092 dev/ic/mfi.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1093 dev/ic/mfi.c ccb->ccb_dmamap->dm_mapsize, BUS_DMASYNC_PREWRITE);
ccb 1096 dev/ic/mfi.c hdr->mfh_sg_count = ccb->ccb_dmamap->dm_nsegs;
ccb 1098 dev/ic/mfi.c ccb->ccb_frame_size += sizeof(struct mfi_sg32) *
ccb 1099 dev/ic/mfi.c ccb->ccb_dmamap->dm_nsegs;
ccb 1100 dev/ic/mfi.c ccb->ccb_extra_frames = (ccb->ccb_frame_size - 1) / MFI_FRAME_SIZE;
ccb 1106 dev/ic/mfi.c ccb->ccb_frame_size,
ccb 1108 dev/ic/mfi.c ccb->ccb_dmamap->dm_nsegs,
ccb 1109 dev/ic/mfi.c ccb->ccb_extra_frames);
ccb 1118 dev/ic/mfi.c struct mfi_ccb *ccb;
ccb 1124 dev/ic/mfi.c if ((ccb = mfi_get_ccb(sc)) == NULL)
ccb 1127 dev/ic/mfi.c dcmd = &ccb->ccb_frame->mfr_dcmd;
ccb 1134 dev/ic/mfi.c ccb->ccb_direction = dir;
ccb 1135 dev/ic/mfi.c ccb->ccb_done = mfi_mgmt_done;
ccb 1137 dev/ic/mfi.c ccb->ccb_frame_size = MFI_DCMD_FRAME_SIZE;
ccb 1145 dev/ic/mfi.c ccb->ccb_data = buf;
ccb 1146 dev/ic/mfi.c ccb->ccb_len = len;
ccb 1147 dev/ic/mfi.c ccb->ccb_sgl = &dcmd->mdf_sgl;
ccb 1149 dev/ic/mfi.c if (mfi_create_sgl(ccb, BUS_DMA_WAITOK))
ccb 1154 dev/ic/mfi.c if (mfi_poll(ccb))
ccb 1157 dev/ic/mfi.c mfi_despatch_cmd(ccb);
ccb 1160 dev/ic/mfi.c while (ccb->ccb_state != MFI_CCB_DONE)
ccb 1161 dev/ic/mfi.c tsleep(ccb, PRIBIO, "mfi_mgmt", 0);
ccb 1163 dev/ic/mfi.c if (ccb->ccb_flags & MFI_CCB_F_ERR)
ccb 1170 dev/ic/mfi.c mfi_put_ccb(ccb);
ccb 1175 dev/ic/mfi.c mfi_mgmt_done(struct mfi_ccb *ccb)
ccb 1177 dev/ic/mfi.c struct mfi_softc *sc = ccb->ccb_sc;
ccb 1178 dev/ic/mfi.c struct mfi_frame_header *hdr = &ccb->ccb_frame->mfr_header;
ccb 1181 dev/ic/mfi.c DEVNAME(sc), ccb, ccb->ccb_frame);
ccb 1183 dev/ic/mfi.c if (ccb->ccb_data != NULL) {
ccb 1186 dev/ic/mfi.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 1187 dev/ic/mfi.c ccb->ccb_dmamap->dm_mapsize,
ccb 1188 dev/ic/mfi.c (ccb->ccb_direction & MFI_DATA_IN) ?
ccb 1191 dev/ic/mfi.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap);
ccb 1195 dev/ic/mfi.c ccb->ccb_flags |= MFI_CCB_F_ERR;
ccb 1197 dev/ic/mfi.c ccb->ccb_state = MFI_CCB_DONE;
ccb 1199 dev/ic/mfi.c wakeup(ccb);
ccb 151 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 252 dev/ic/mpi.c while ((ccb = mpi_get_ccb(sc)) != NULL)
ccb 253 dev/ic/mpi.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 575 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 593 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 594 dev/ic/mpi.c if (ccb == NULL)
ccb 597 dev/ic/mpi.c ccb->ccb_done = mpi_empty_done;
ccb 599 dev/ic/mpi.c bundle = ccb->ccb_cmd;
ccb 615 dev/ic/mpi.c io->msg_context = htole32(ccb->ccb_id);
ccb 629 dev/ic/mpi.c io->sense_buf_low_addr = htole32(ccb->ccb_cmd_dva +
ccb 636 dev/ic/mpi.c addr = ccb->ccb_cmd_dva +
ccb 641 dev/ic/mpi.c if (mpi_poll(sc, ccb, 5000) != 0)
ccb 644 dev/ic/mpi.c if (ccb->ccb_rcb != NULL)
ccb 645 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 647 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 676 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 717 dev/ic/mpi.c ccb = &sc->sc_ccbs[id];
ccb 720 dev/ic/mpi.c ccb->ccb_offset, MPI_REQUEST_SIZE,
ccb 722 dev/ic/mpi.c ccb->ccb_state = MPI_CCB_READY;
ccb 723 dev/ic/mpi.c ccb->ccb_rcb = rcb;
ccb 725 dev/ic/mpi.c ccb->ccb_done(ccb);
ccb 794 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 818 dev/ic/mpi.c ccb = &sc->sc_ccbs[i];
ccb 822 dev/ic/mpi.c &ccb->ccb_dmamap) != 0) {
ccb 827 dev/ic/mpi.c ccb->ccb_sc = sc;
ccb 828 dev/ic/mpi.c ccb->ccb_id = i;
ccb 829 dev/ic/mpi.c ccb->ccb_offset = MPI_REQUEST_SIZE * i;
ccb 831 dev/ic/mpi.c ccb->ccb_cmd = &cmd[ccb->ccb_offset];
ccb 832 dev/ic/mpi.c ccb->ccb_cmd_dva = (u_int32_t)MPI_DMA_DVA(sc->sc_requests) +
ccb 833 dev/ic/mpi.c ccb->ccb_offset;
ccb 837 dev/ic/mpi.c DEVNAME(sc), i, ccb, ccb->ccb_dmamap, ccb->ccb_sc,
ccb 838 dev/ic/mpi.c ccb->ccb_id, ccb->ccb_offset, ccb->ccb_cmd,
ccb 839 dev/ic/mpi.c ccb->ccb_cmd_dva);
ccb 841 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 847 dev/ic/mpi.c while ((ccb = mpi_get_ccb(sc)) != NULL)
ccb 848 dev/ic/mpi.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 860 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 862 dev/ic/mpi.c ccb = TAILQ_FIRST(&sc->sc_ccb_free);
ccb 863 dev/ic/mpi.c if (ccb == NULL) {
ccb 868 dev/ic/mpi.c TAILQ_REMOVE(&sc->sc_ccb_free, ccb, ccb_link);
ccb 870 dev/ic/mpi.c ccb->ccb_state = MPI_CCB_READY;
ccb 872 dev/ic/mpi.c DNPRINTF(MPI_D_CCB, "%s: mpi_get_ccb %#x\n", DEVNAME(sc), ccb);
ccb 874 dev/ic/mpi.c return (ccb);
ccb 878 dev/ic/mpi.c mpi_put_ccb(struct mpi_softc *sc, struct mpi_ccb *ccb)
ccb 880 dev/ic/mpi.c DNPRINTF(MPI_D_CCB, "%s: mpi_put_ccb %#x\n", DEVNAME(sc), ccb);
ccb 882 dev/ic/mpi.c ccb->ccb_state = MPI_CCB_FREE;
ccb 883 dev/ic/mpi.c ccb->ccb_xs = NULL;
ccb 884 dev/ic/mpi.c ccb->ccb_done = NULL;
ccb 885 dev/ic/mpi.c bzero(ccb->ccb_cmd, MPI_REQUEST_SIZE);
ccb 886 dev/ic/mpi.c TAILQ_INSERT_TAIL(&sc->sc_ccb_free, ccb, ccb_link);
ccb 929 dev/ic/mpi.c mpi_start(struct mpi_softc *sc, struct mpi_ccb *ccb)
ccb 932 dev/ic/mpi.c ccb->ccb_cmd_dva);
ccb 935 dev/ic/mpi.c ccb->ccb_offset, MPI_REQUEST_SIZE,
ccb 938 dev/ic/mpi.c ccb->ccb_state = MPI_CCB_QUEUED;
ccb 939 dev/ic/mpi.c mpi_write(sc, MPI_REQ_QUEUE, ccb->ccb_cmd_dva);
ccb 943 dev/ic/mpi.c mpi_complete(struct mpi_softc *sc, struct mpi_ccb *ccb, int timeout)
ccb 963 dev/ic/mpi.c } while (ccb->ccb_id != id);
ccb 969 dev/ic/mpi.c mpi_poll(struct mpi_softc *sc, struct mpi_ccb *ccb, int timeout)
ccb 977 dev/ic/mpi.c mpi_start(sc, ccb);
ccb 978 dev/ic/mpi.c error = mpi_complete(sc, ccb, timeout);
ccb 989 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 1011 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 1013 dev/ic/mpi.c if (ccb == NULL) {
ccb 1021 dev/ic/mpi.c DEVNAME(sc), ccb->ccb_id, xs->flags);
ccb 1023 dev/ic/mpi.c ccb->ccb_xs = xs;
ccb 1024 dev/ic/mpi.c ccb->ccb_done = mpi_scsi_cmd_done;
ccb 1026 dev/ic/mpi.c mcb = ccb->ccb_cmd;
ccb 1040 dev/ic/mpi.c io->msg_context = htole32(ccb->ccb_id);
ccb 1065 dev/ic/mpi.c io->sense_buf_low_addr = htole32(ccb->ccb_cmd_dva +
ccb 1068 dev/ic/mpi.c if (mpi_load_xs(ccb) != 0) {
ccb 1071 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 1077 dev/ic/mpi.c timeout_set(&xs->stimeout, mpi_timeout_xs, ccb);
ccb 1080 dev/ic/mpi.c if (mpi_poll(sc, ccb, xs->timeout) != 0)
ccb 1086 dev/ic/mpi.c mpi_start(sc, ccb);
ccb 1092 dev/ic/mpi.c mpi_scsi_cmd_done(struct mpi_ccb *ccb)
ccb 1094 dev/ic/mpi.c struct mpi_softc *sc = ccb->ccb_sc;
ccb 1095 dev/ic/mpi.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 1096 dev/ic/mpi.c struct mpi_ccb_bundle *mcb = ccb->ccb_cmd;
ccb 1097 dev/ic/mpi.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 1113 dev/ic/mpi.c if (ccb->ccb_rcb == NULL) {
ccb 1116 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 1121 dev/ic/mpi.c sie = ccb->ccb_rcb->rcb_reply;
ccb 1201 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 1202 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 1213 dev/ic/mpi.c mpi_load_xs(struct mpi_ccb *ccb)
ccb 1215 dev/ic/mpi.c struct mpi_softc *sc = ccb->ccb_sc;
ccb 1216 dev/ic/mpi.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 1217 dev/ic/mpi.c struct mpi_ccb_bundle *mcb = ccb->ccb_cmd;
ccb 1222 dev/ic/mpi.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 1273 dev/ic/mpi.c ce_dva = ccb->ccb_cmd_dva +
ccb 1591 dev/ic/mpi.c mpi_empty_done(struct mpi_ccb *ccb)
ccb 1777 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 1785 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 1787 dev/ic/mpi.c if (ccb == NULL) {
ccb 1793 dev/ic/mpi.c ccb->ccb_done = mpi_empty_done;
ccb 1794 dev/ic/mpi.c pfq = ccb->ccb_cmd;
ccb 1800 dev/ic/mpi.c pfq->msg_context = htole32(ccb->ccb_id);
ccb 1802 dev/ic/mpi.c if (mpi_poll(sc, ccb, 50000) != 0) {
ccb 1807 dev/ic/mpi.c if (ccb->ccb_rcb == NULL) {
ccb 1812 dev/ic/mpi.c pfp = ccb->ccb_rcb->rcb_reply;
ccb 1839 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 1842 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 1850 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 1855 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 1857 dev/ic/mpi.c if (ccb == NULL) {
ccb 1863 dev/ic/mpi.c ccb->ccb_done = mpi_eventnotify_done;
ccb 1864 dev/ic/mpi.c enq = ccb->ccb_cmd;
ccb 1869 dev/ic/mpi.c enq->msg_context = htole32(ccb->ccb_id);
ccb 1871 dev/ic/mpi.c mpi_start(sc, ccb);
ccb 1876 dev/ic/mpi.c mpi_eventnotify_done(struct mpi_ccb *ccb)
ccb 1878 dev/ic/mpi.c struct mpi_softc *sc = ccb->ccb_sc;
ccb 1879 dev/ic/mpi.c struct mpi_msg_event_reply *enp = ccb->ccb_rcb->rcb_reply;
ccb 1910 dev/ic/mpi.c if (scsi_task(mpi_evt_sas, sc, ccb->ccb_rcb, 0) != 0) {
ccb 1927 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 1932 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 1983 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 1986 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 1987 dev/ic/mpi.c if (ccb == NULL) {
ccb 1992 dev/ic/mpi.c ccb->ccb_done = mpi_eventack_done;
ccb 1993 dev/ic/mpi.c eaq = ccb->ccb_cmd;
ccb 1996 dev/ic/mpi.c eaq->msg_context = htole32(ccb->ccb_id);
ccb 2001 dev/ic/mpi.c mpi_start(sc, ccb);
ccb 2006 dev/ic/mpi.c mpi_eventack_done(struct mpi_ccb *ccb)
ccb 2008 dev/ic/mpi.c struct mpi_softc *sc = ccb->ccb_sc;
ccb 2012 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 2013 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 2019 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 2027 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 2029 dev/ic/mpi.c if (ccb == NULL) {
ccb 2035 dev/ic/mpi.c ccb->ccb_done = mpi_empty_done;
ccb 2036 dev/ic/mpi.c peq = ccb->ccb_cmd;
ccb 2040 dev/ic/mpi.c peq->msg_context = htole32(ccb->ccb_id);
ccb 2042 dev/ic/mpi.c if (mpi_poll(sc, ccb, 50000) != 0) {
ccb 2047 dev/ic/mpi.c if (ccb->ccb_rcb == NULL) {
ccb 2052 dev/ic/mpi.c pep = ccb->ccb_rcb->rcb_reply;
ccb 2054 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 2055 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 2063 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 2086 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 2088 dev/ic/mpi.c if (ccb == NULL) {
ccb 2094 dev/ic/mpi.c ccb->ccb_done = mpi_empty_done;
ccb 2095 dev/ic/mpi.c bundle = ccb->ccb_cmd;
ccb 2098 dev/ic/mpi.c bundle->req.msg_context = htole32(ccb->ccb_id);
ccb 2112 dev/ic/mpi.c if (mpi_poll(sc, ccb, 50000) != 0) {
ccb 2117 dev/ic/mpi.c if (ccb->ccb_rcb == NULL)
ccb 2119 dev/ic/mpi.c upp = ccb->ccb_rcb->rcb_reply;
ccb 2124 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 2125 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 2216 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 2226 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 2228 dev/ic/mpi.c if (ccb == NULL) {
ccb 2234 dev/ic/mpi.c ccb->ccb_done = mpi_empty_done;
ccb 2235 dev/ic/mpi.c cq = ccb->ccb_cmd;
ccb 2238 dev/ic/mpi.c cq->msg_context = htole32(ccb->ccb_id);
ccb 2248 dev/ic/mpi.c if (mpi_poll(sc, ccb, 50000) != 0) {
ccb 2253 dev/ic/mpi.c if (ccb->ccb_rcb == NULL)
ccb 2255 dev/ic/mpi.c cp = ccb->ccb_rcb->rcb_reply;
ccb 2281 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 2282 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 2291 dev/ic/mpi.c struct mpi_ccb *ccb;
ccb 2307 dev/ic/mpi.c ccb = mpi_get_ccb(sc);
ccb 2309 dev/ic/mpi.c if (ccb == NULL) {
ccb 2314 dev/ic/mpi.c ccb->ccb_done = mpi_empty_done;
ccb 2315 dev/ic/mpi.c cq = ccb->ccb_cmd;
ccb 2318 dev/ic/mpi.c cq->msg_context = htole32(ccb->ccb_id);
ccb 2332 dev/ic/mpi.c dva = ccb->ccb_cmd_dva + sizeof(struct mpi_msg_config_request);
ccb 2337 dev/ic/mpi.c kva = ccb->ccb_cmd;
ccb 2342 dev/ic/mpi.c if (mpi_poll(sc, ccb, 50000) != 0) {
ccb 2347 dev/ic/mpi.c if (ccb->ccb_rcb == NULL) {
ccb 2348 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 2351 dev/ic/mpi.c cp = ccb->ccb_rcb->rcb_reply;
ccb 2377 dev/ic/mpi.c mpi_push_reply(sc, ccb->ccb_rcb->rcb_reply_dva);
ccb 2378 dev/ic/mpi.c mpi_put_ccb(sc, ccb);
ccb 217 dev/ic/sili.c struct sili_ccb *ccb;
ccb 241 dev/ic/sili.c ccb = &sp->sp_ccbs[err_slot];
ccb 247 dev/ic/sili.c sili_pread_fis(sp, err_slot, &ccb->ccb_xa.rfis);
ccb 259 dev/ic/sili.c ccb = &sp->sp_ccbs[err_slot];
ccb 275 dev/ic/sili.c ccb = &sp->sp_ccbs[slot];
ccb 276 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_ONCHIP);
ccb 277 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_ERROR;
ccb 290 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_ONCHIP);
ccb 291 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_ERROR;
ccb 305 dev/ic/sili.c ccb = &sp->sp_ccbs[timeout_slot];
ccb 306 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_ONCHIP);
ccb 307 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_TIMEOUT;
ccb 317 dev/ic/sili.c ccb = &sp->sp_ccbs[slot];
ccb 321 dev/ic/sili.c PORTNAME(sp), slot, ccb->ccb_xa.state == ATA_S_ERROR ?
ccb 322 dev/ic/sili.c " (error)" : (ccb->ccb_xa.state == ATA_S_TIMEOUT ?
ccb 325 dev/ic/sili.c sili_ata_cmd_done(ccb, need_restart);
ccb 341 dev/ic/sili.c TAILQ_FOREACH(ccb, &sp->sp_active_ccbs, ccb_entry) {
ccb 344 dev/ic/sili.c ccb->ccb_xa.tag, ccb->ccb_xa.state);
ccb 345 dev/ic/sili.c if (!(pss_masked & (1 << ccb->ccb_xa.tag))) {
ccb 348 dev/ic/sili.c ccb->ccb_xa.tag, pss_masked,
ccb 349 dev/ic/sili.c ccb->ccb_xa.state);
ccb 351 dev/ic/sili.c pss_masked &= ~(1 << ccb->ccb_xa.tag);
ccb 353 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_ONCHIP);
ccb 354 dev/ic/sili.c sili_post_indirect(sp, ccb);
ccb 363 dev/ic/sili.c while ((ccb = TAILQ_FIRST(&sp->sp_deferred_ccbs)) != NULL) {
ccb 364 dev/ic/sili.c TAILQ_REMOVE(&sp->sp_deferred_ccbs, ccb, ccb_entry);
ccb 366 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_COMPLETE ||
ccb 367 dev/ic/sili.c ccb->ccb_xa.state == ATA_S_ERROR ||
ccb 368 dev/ic/sili.c ccb->ccb_xa.state == ATA_S_TIMEOUT);
ccb 369 dev/ic/sili.c ccb->ccb_xa.complete(&ccb->ccb_xa);
ccb 455 dev/ic/sili.c struct sili_ccb *ccb;
ccb 476 dev/ic/sili.c ccb = &sp->sp_ccbs[i];
ccb 477 dev/ic/sili.c ccb->ccb_port = sp;
ccb 478 dev/ic/sili.c ccb->ccb_cmd = SILI_DMA_KVA(sp->sp_cmds) + i * SILI_CMD_LEN;
ccb 479 dev/ic/sili.c ccb->ccb_cmd_dva = SILI_DMA_DVA(sp->sp_cmds) + i * SILI_CMD_LEN;
ccb 482 dev/ic/sili.c &ccb->ccb_dmamap) != 0)
ccb 485 dev/ic/sili.c prb = ccb->ccb_cmd;
ccb 486 dev/ic/sili.c ccb->ccb_xa.fis = (struct ata_fis_h2d *)&prb->fis;
ccb 487 dev/ic/sili.c ccb->ccb_xa.packetcmd = ((struct sili_prb_packet *)prb)->cdb;
ccb 488 dev/ic/sili.c ccb->ccb_xa.tag = i;
ccb 489 dev/ic/sili.c ccb->ccb_xa.ata_put_xfer = sili_ata_put_xfer;
ccb 490 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_COMPLETE;
ccb 492 dev/ic/sili.c sili_put_ccb(ccb);
ccb 510 dev/ic/sili.c struct sili_ccb *ccb;
ccb 512 dev/ic/sili.c while ((ccb = sili_get_ccb(sp)) != NULL)
ccb 513 dev/ic/sili.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 522 dev/ic/sili.c struct sili_ccb *ccb;
ccb 524 dev/ic/sili.c ccb = TAILQ_FIRST(&sp->sp_free_ccbs);
ccb 525 dev/ic/sili.c if (ccb != NULL) {
ccb 526 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_PUT);
ccb 527 dev/ic/sili.c TAILQ_REMOVE(&sp->sp_free_ccbs, ccb, ccb_entry);
ccb 528 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_SETUP;
ccb 531 dev/ic/sili.c return (ccb);
ccb 535 dev/ic/sili.c sili_put_ccb(struct sili_ccb *ccb)
ccb 537 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 540 dev/ic/sili.c if (ccb->ccb_xa.state != ATA_S_COMPLETE &&
ccb 541 dev/ic/sili.c ccb->ccb_xa.state != ATA_S_TIMEOUT &&
ccb 542 dev/ic/sili.c ccb->ccb_xa.state != ATA_S_ERROR) {
ccb 544 dev/ic/sili.c "slot %d\n", PORTNAME(sp), ccb->ccb_xa.state,
ccb 545 dev/ic/sili.c ccb->ccb_xa.tag);
ccb 549 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_PUT;
ccb 550 dev/ic/sili.c TAILQ_INSERT_TAIL(&sp->sp_free_ccbs, ccb, ccb_entry);
ccb 705 dev/ic/sili.c sili_post_indirect(struct sili_port *sp, struct sili_ccb *ccb)
ccb 707 dev/ic/sili.c sili_pwrite(sp, SILI_PREG_CAR_LO(ccb->ccb_xa.tag),
ccb 708 dev/ic/sili.c (u_int32_t)ccb->ccb_cmd_dva);
ccb 709 dev/ic/sili.c sili_pwrite(sp, SILI_PREG_CAR_HI(ccb->ccb_xa.tag),
ccb 710 dev/ic/sili.c (u_int32_t)(ccb->ccb_cmd_dva >> 32));
ccb 790 dev/ic/sili.c struct sili_ccb *ccb = (struct sili_ccb *)xa;
ccb 791 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 802 dev/ic/sili.c atapi = ccb->ccb_cmd;
ccb 812 dev/ic/sili.c ata = ccb->ccb_cmd;
ccb 820 dev/ic/sili.c if (sili_load(ccb, sgl, sgllen) != 0)
ccb 826 dev/ic/sili.c timeout_set(&xa->stimeout, sili_ata_cmd_timeout, ccb);
ccb 831 dev/ic/sili.c sili_poll(ccb, xa->timeout, sili_ata_cmd_timeout);
ccb 838 dev/ic/sili.c sili_start(sp, ccb);
ccb 851 dev/ic/sili.c sili_ata_cmd_done(struct sili_ccb *ccb, int defer_completion)
ccb 853 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 855 dev/ic/sili.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 864 dev/ic/sili.c sili_unload(ccb);
ccb 866 dev/ic/sili.c TAILQ_REMOVE(&sp->sp_active_ccbs, ccb, ccb_entry);
ccb 877 dev/ic/sili.c TAILQ_INSERT_TAIL(&sp->sp_deferred_ccbs, ccb, ccb_entry);
ccb 890 dev/ic/sili.c struct sili_ccb *ccb = xccb;
ccb 891 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 895 dev/ic/sili.c sili_port_intr(sp, ccb->ccb_xa.tag);
ccb 900 dev/ic/sili.c sili_load(struct sili_ccb *ccb, struct sili_sge *sgl, int sgllen)
ccb 902 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 904 dev/ic/sili.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 906 dev/ic/sili.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 928 dev/ic/sili.c addr = ccb->ccb_cmd_dva;
ccb 929 dev/ic/sili.c addr += ((u_int8_t *)nsge - (u_int8_t *)ccb->ccb_cmd);
ccb 961 dev/ic/sili.c sili_unload(struct sili_ccb *ccb)
ccb 963 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 965 dev/ic/sili.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 966 dev/ic/sili.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 984 dev/ic/sili.c sili_poll(struct sili_ccb *ccb, int timeout, void (*timeout_fn)(void *))
ccb 986 dev/ic/sili.c struct sili_port *sp = ccb->ccb_port;
ccb 990 dev/ic/sili.c sili_start(sp, ccb);
ccb 992 dev/ic/sili.c if (sili_port_intr(sp, -1) & (1 << ccb->ccb_xa.tag)) {
ccb 1002 dev/ic/sili.c timeout_fn(ccb);
ccb 1010 dev/ic/sili.c sili_start(struct sili_port *sp, struct sili_ccb *ccb)
ccb 1012 dev/ic/sili.c int slot = ccb->ccb_xa.tag;
ccb 1015 dev/ic/sili.c KASSERT(ccb->ccb_xa.state == ATA_S_PENDING);
ccb 1017 dev/ic/sili.c TAILQ_INSERT_TAIL(&sp->sp_active_ccbs, ccb, ccb_entry);
ccb 1019 dev/ic/sili.c ccb->ccb_xa.state = ATA_S_ONCHIP;
ccb 1021 dev/ic/sili.c sili_post_indirect(sp, ccb);
ccb 1032 dev/ic/sili.c struct sili_ccb *ccb;
ccb 1092 dev/ic/sili.c ccb = &sp->sp_ccbs[*err_slotp];
ccb 1093 dev/ic/sili.c memcpy(&ccb->ccb_xa.rfis, &log->err_regs, sizeof(struct ata_fis_d2h));
ccb 1094 dev/ic/sili.c ccb->ccb_xa.rfis.type = ATA_FIS_TYPE_D2H;
ccb 1095 dev/ic/sili.c ccb->ccb_xa.rfis.flags = 0;
ccb 1105 dev/ic/sili.c struct sili_ccb *ccb;
ccb 1107 dev/ic/sili.c ccb = sili_get_ccb(sp);
ccb 1108 dev/ic/sili.c if (ccb == NULL) {
ccb 1113 dev/ic/sili.c bzero(ccb->ccb_cmd, SILI_CMD_LEN);
ccb 1115 dev/ic/sili.c return ((struct ata_xfer *)ccb);
ccb 1121 dev/ic/sili.c struct sili_ccb *ccb = (struct sili_ccb *)xa;
ccb 1123 dev/ic/sili.c sili_put_ccb(ccb);
ccb 78 dev/ic/twe.c static __inline void twe_put_ccb(struct twe_ccb *ccb);
ccb 80 dev/ic/twe.c int twe_cmd(struct twe_ccb *ccb, int flags, int wait);
ccb 81 dev/ic/twe.c int twe_start(struct twe_ccb *ccb, int wait);
ccb 82 dev/ic/twe.c int twe_complete(struct twe_ccb *ccb);
ccb 83 dev/ic/twe.c int twe_done(struct twe_softc *sc, struct twe_ccb *ccb);
ccb 93 dev/ic/twe.c struct twe_ccb *ccb;
ccb 95 dev/ic/twe.c ccb = TAILQ_LAST(&sc->sc_free_ccb, twe_queue_head);
ccb 96 dev/ic/twe.c if (ccb)
ccb 97 dev/ic/twe.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, ccb_link);
ccb 98 dev/ic/twe.c return ccb;
ccb 102 dev/ic/twe.c twe_put_ccb(ccb)
ccb 103 dev/ic/twe.c struct twe_ccb *ccb;
ccb 105 dev/ic/twe.c struct twe_softc *sc = ccb->ccb_sc;
ccb 107 dev/ic/twe.c ccb->ccb_state = TWE_CCB_FREE;
ccb 108 dev/ic/twe.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, ccb_link);
ccb 115 dev/ic/twe.c register struct twe_ccb *ccb;
ccb 119 dev/ic/twe.c for (ccb = &sc->sc_ccbs[TWE_MAXCMDS - 1]; ccb >= sc->sc_ccbs; ccb--)
ccb 120 dev/ic/twe.c if (ccb->ccb_dmamap)
ccb 121 dev/ic/twe.c bus_dmamap_destroy(sc->dmat, ccb->ccb_dmamap);
ccb 138 dev/ic/twe.c struct twe_ccb *ccb;
ccb 192 dev/ic/twe.c ccb = &sc->sc_ccbs[cmd->cmd_index];
ccb 195 dev/ic/twe.c BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &ccb->ccb_dmamap);
ccb 201 dev/ic/twe.c ccb->ccb_sc = sc;
ccb 202 dev/ic/twe.c ccb->ccb_cmd = cmd;
ccb 203 dev/ic/twe.c ccb->ccb_cmdpa = pa;
ccb 204 dev/ic/twe.c ccb->ccb_state = TWE_CCB_FREE;
ccb 205 dev/ic/twe.c TAILQ_INSERT_TAIL(&sc->sc_free_ccb, ccb, ccb_link);
ccb 247 dev/ic/twe.c if ((ccb = twe_get_ccb(sc)) == NULL) {
ccb 252 dev/ic/twe.c ccb->ccb_xs = NULL;
ccb 253 dev/ic/twe.c ccb->ccb_data = pb;
ccb 254 dev/ic/twe.c ccb->ccb_length = TWE_SECTOR_SIZE;
ccb 255 dev/ic/twe.c ccb->ccb_state = TWE_CCB_READY;
ccb 256 dev/ic/twe.c cmd = ccb->ccb_cmd;
ccb 265 dev/ic/twe.c if (twe_cmd(ccb, BUS_DMA_NOWAIT, 1)) {
ccb 314 dev/ic/twe.c if ((ccb = twe_get_ccb(sc)) == NULL) {
ccb 320 dev/ic/twe.c ccb->ccb_xs = NULL;
ccb 321 dev/ic/twe.c ccb->ccb_data = pb;
ccb 322 dev/ic/twe.c ccb->ccb_length = TWE_SECTOR_SIZE;
ccb 323 dev/ic/twe.c ccb->ccb_state = TWE_CCB_READY;
ccb 324 dev/ic/twe.c cmd = ccb->ccb_cmd;
ccb 332 dev/ic/twe.c if (twe_cmd(ccb, BUS_DMA_NOWAIT, 1)) {
ccb 345 dev/ic/twe.c if ((ccb = twe_get_ccb(sc)) == NULL) {
ccb 351 dev/ic/twe.c ccb->ccb_xs = NULL;
ccb 352 dev/ic/twe.c ccb->ccb_data = cap;
ccb 353 dev/ic/twe.c ccb->ccb_length = TWE_SECTOR_SIZE;
ccb 354 dev/ic/twe.c ccb->ccb_state = TWE_CCB_READY;
ccb 355 dev/ic/twe.c cmd = ccb->ccb_cmd;
ccb 364 dev/ic/twe.c if (twe_cmd(ccb, BUS_DMA_NOWAIT, 1)) {
ccb 437 dev/ic/twe.c struct twe_ccb *ccb;
ccb 447 dev/ic/twe.c ccb = TAILQ_FIRST(&sc->sc_done_ccb);
ccb 448 dev/ic/twe.c TAILQ_REMOVE(&sc->sc_done_ccb, ccb, ccb_link);
ccb 449 dev/ic/twe.c if ((err = twe_done(sc, ccb)))
ccb 460 dev/ic/twe.c ccb = TAILQ_LAST(&sc->sc_ccb2q, twe_queue_head);
ccb 461 dev/ic/twe.c TAILQ_REMOVE(&sc->sc_ccb2q, ccb, ccb_link);
ccb 463 dev/ic/twe.c ccb->ccb_state = TWE_CCB_QUEUED;
ccb 464 dev/ic/twe.c TAILQ_INSERT_TAIL(&sc->sc_ccbq, ccb, ccb_link);
ccb 466 dev/ic/twe.c ccb->ccb_cmdpa);
ccb 484 dev/ic/twe.c twe_cmd(ccb, flags, wait)
ccb 485 dev/ic/twe.c struct twe_ccb *ccb;
ccb 488 dev/ic/twe.c struct twe_softc *sc = ccb->ccb_sc;
ccb 494 dev/ic/twe.c if (ccb->ccb_data && ((u_long)ccb->ccb_data & (TWE_ALIGN - 1))) {
ccb 495 dev/ic/twe.c TWE_DPRINTF(TWE_D_DMA, ("data=%p is unaligned ",ccb->ccb_data));
ccb 496 dev/ic/twe.c ccb->ccb_realdata = ccb->ccb_data;
ccb 498 dev/ic/twe.c error = bus_dmamem_alloc(sc->dmat, ccb->ccb_length, PAGE_SIZE,
ccb 499 dev/ic/twe.c 0, ccb->ccb_2bseg, TWE_MAXOFFSETS, &ccb->ccb_2nseg,
ccb 503 dev/ic/twe.c twe_put_ccb(ccb);
ccb 507 dev/ic/twe.c error = bus_dmamem_map(sc->dmat, ccb->ccb_2bseg, ccb->ccb_2nseg,
ccb 508 dev/ic/twe.c ccb->ccb_length, (caddr_t *)&ccb->ccb_data, BUS_DMA_NOWAIT);
ccb 511 dev/ic/twe.c bus_dmamem_free(sc->dmat, ccb->ccb_2bseg, ccb->ccb_2nseg);
ccb 512 dev/ic/twe.c twe_put_ccb(ccb);
ccb 515 dev/ic/twe.c bcopy(ccb->ccb_realdata, ccb->ccb_data, ccb->ccb_length);
ccb 517 dev/ic/twe.c ccb->ccb_realdata = NULL;
ccb 519 dev/ic/twe.c dmap = ccb->ccb_dmamap;
ccb 520 dev/ic/twe.c cmd = ccb->ccb_cmd;
ccb 523 dev/ic/twe.c if (ccb->ccb_data) {
ccb 524 dev/ic/twe.c error = bus_dmamap_load(sc->dmat, dmap, ccb->ccb_data,
ccb 525 dev/ic/twe.c ccb->ccb_length, NULL, flags);
ccb 532 dev/ic/twe.c if (ccb->ccb_realdata) {
ccb 533 dev/ic/twe.c bus_dmamem_unmap(sc->dmat, ccb->ccb_data,
ccb 534 dev/ic/twe.c ccb->ccb_length);
ccb 535 dev/ic/twe.c bus_dmamem_free(sc->dmat, ccb->ccb_2bseg,
ccb 536 dev/ic/twe.c ccb->ccb_2nseg);
ccb 538 dev/ic/twe.c twe_put_ccb(ccb);
ccb 558 dev/ic/twe.c TWE_DPRINTF(TWE_D_DMA, ("data=%p<", ccb->ccb_data));
ccb 581 dev/ic/twe.c if ((error = twe_start(ccb, wait))) {
ccb 583 dev/ic/twe.c if (ccb->ccb_realdata) {
ccb 584 dev/ic/twe.c bus_dmamem_unmap(sc->dmat, ccb->ccb_data,
ccb 585 dev/ic/twe.c ccb->ccb_length);
ccb 586 dev/ic/twe.c bus_dmamem_free(sc->dmat, ccb->ccb_2bseg,
ccb 587 dev/ic/twe.c ccb->ccb_2nseg);
ccb 589 dev/ic/twe.c twe_put_ccb(ccb);
ccb 593 dev/ic/twe.c return wait? twe_complete(ccb) : 0;
ccb 597 dev/ic/twe.c twe_start(ccb, wait)
ccb 598 dev/ic/twe.c struct twe_ccb *ccb;
ccb 601 dev/ic/twe.c struct twe_softc*sc = ccb->ccb_sc;
ccb 602 dev/ic/twe.c struct twe_cmd *cmd = ccb->ccb_cmd;
ccb 611 dev/ic/twe.c ccb->ccb_state = TWE_CCB_PREQUEUED;
ccb 612 dev/ic/twe.c TAILQ_INSERT_TAIL(&sc->sc_ccb2q, ccb, ccb_link);
ccb 628 dev/ic/twe.c ccb->ccb_cmdpa);
ccb 631 dev/ic/twe.c ccb->ccb_state = TWE_CCB_QUEUED;
ccb 632 dev/ic/twe.c TAILQ_INSERT_TAIL(&sc->sc_ccbq, ccb, ccb_link);
ccb 645 dev/ic/twe.c twe_complete(ccb)
ccb 646 dev/ic/twe.c struct twe_ccb *ccb;
ccb 648 dev/ic/twe.c struct twe_softc *sc = ccb->ccb_sc;
ccb 649 dev/ic/twe.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 670 dev/ic/twe.c if (!twe_done(sc, ccb1) && ccb1 == ccb) {
ccb 685 dev/ic/twe.c twe_done(sc, ccb)
ccb 687 dev/ic/twe.c struct twe_ccb *ccb;
ccb 689 dev/ic/twe.c struct twe_cmd *cmd = ccb->ccb_cmd;
ccb 690 dev/ic/twe.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 696 dev/ic/twe.c if (ccb->ccb_state != TWE_CCB_DONE) {
ccb 702 dev/ic/twe.c dmap = ccb->ccb_dmamap;
ccb 731 dev/ic/twe.c if (ccb->ccb_realdata) {
ccb 732 dev/ic/twe.c bcopy(ccb->ccb_data, ccb->ccb_realdata, ccb->ccb_length);
ccb 733 dev/ic/twe.c bus_dmamem_unmap(sc->dmat, ccb->ccb_data, ccb->ccb_length);
ccb 734 dev/ic/twe.c bus_dmamem_free(sc->dmat, ccb->ccb_2bseg, ccb->ccb_2nseg);
ccb 738 dev/ic/twe.c twe_put_ccb(ccb);
ccb 783 dev/ic/twe.c struct twe_ccb *ccb;
ccb 901 dev/ic/twe.c if ((ccb = twe_get_ccb(sc)) == NULL) {
ccb 908 dev/ic/twe.c ccb->ccb_xs = xs;
ccb 909 dev/ic/twe.c ccb->ccb_data = xs->data;
ccb 910 dev/ic/twe.c ccb->ccb_length = xs->datalen;
ccb 911 dev/ic/twe.c ccb->ccb_state = TWE_CCB_READY;
ccb 912 dev/ic/twe.c cmd = ccb->ccb_cmd;
ccb 922 dev/ic/twe.c if ((error = twe_cmd(ccb, ((xs->flags & SCSI_NOSLEEP)?
ccb 957 dev/ic/twe.c struct twe_ccb *ccb;
ccb 989 dev/ic/twe.c ccb = &sc->sc_ccbs[TWE_READYID(ready)];
ccb 990 dev/ic/twe.c TAILQ_REMOVE(&sc->sc_ccbq, ccb, ccb_link);
ccb 991 dev/ic/twe.c ccb->ccb_state = TWE_CCB_DONE;
ccb 992 dev/ic/twe.c TAILQ_INSERT_TAIL(&sc->sc_done_ccb, ccb, ccb_link);
ccb 1028 dev/ic/twe.c if ((ccb = twe_get_ccb(sc)) == NULL)
ccb 1031 dev/ic/twe.c ccb->ccb_xs = NULL;
ccb 1032 dev/ic/twe.c ccb->ccb_data = pb;
ccb 1033 dev/ic/twe.c ccb->ccb_length = TWE_SECTOR_SIZE;
ccb 1034 dev/ic/twe.c ccb->ccb_state = TWE_CCB_READY;
ccb 1035 dev/ic/twe.c cmd = ccb->ccb_cmd;
ccb 1044 dev/ic/twe.c if (twe_cmd(ccb, BUS_DMA_NOWAIT, 1)) {
ccb 427 dev/isa/aha.c struct aha_ccb *ccb;
ccb 450 dev/isa/aha.c ccb = aha_ccb_phys_kv(sc, phystol(wmbi->ccb_addr));
ccb 451 dev/isa/aha.c if (!ccb) {
ccb 459 dev/isa/aha.c u_char *cp = (u_char *)&ccb->scsi_cmd;
ccb 464 dev/isa/aha.c printf("ccb addr = 0x%x\n", ccb);
ccb 471 dev/isa/aha.c if ((ccb->flags & CCB_ABORT) != 0) {
ccb 498 dev/isa/aha.c if ((ccb->xs->flags & SCSI_POLL) == 0)
ccb 499 dev/isa/aha.c timeout_del(&ccb->xs->stimeout);
ccb 500 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmam, 0,
ccb 501 dev/isa/aha.c ccb->ccb_dmam->dm_mapsize, BUS_DMASYNC_POSTREAD);
ccb 502 dev/isa/aha.c aha_done(sc, ccb);
ccb 561 dev/isa/aha.c aha_reset_ccb(sc, ccb)
ccb 563 dev/isa/aha.c struct aha_ccb *ccb;
ccb 566 dev/isa/aha.c ccb->flags = 0;
ccb 573 dev/isa/aha.c aha_free_ccb(sc, ccb)
ccb 575 dev/isa/aha.c struct aha_ccb *ccb;
ccb 582 dev/isa/aha.c if (ccb->ccb_dmam->dm_segs[0].ds_addr != 0)
ccb 583 dev/isa/aha.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmam);
ccb 587 dev/isa/aha.c hashnum = CCB_HASH(ccb->ccb_dmam->dm_segs[0].ds_addr);
ccb 592 dev/isa/aha.c ccb->ccb_dmam->dm_segs[0].ds_addr) {
ccb 599 dev/isa/aha.c aha_reset_ccb(sc, ccb);
ccb 600 dev/isa/aha.c TAILQ_INSERT_HEAD(&sc->sc_free_ccb, ccb, chain);
ccb 606 dev/isa/aha.c if (TAILQ_NEXT(ccb, chain) == NULL)
ccb 613 dev/isa/aha.c aha_init_ccb(sc, ccb, flags)
ccb 615 dev/isa/aha.c struct aha_ccb *ccb;
ccb 620 dev/isa/aha.c bzero(ccb, sizeof(struct aha_ccb));
ccb 621 dev/isa/aha.c aha_reset_ccb(sc, ccb);
ccb 626 dev/isa/aha.c MAXPHYS, 0, wait | BUS_DMA_ALLOCNOW, &ccb->dmam);
ccb 633 dev/isa/aha.c 0, wait | BUS_DMA_ALLOCNOW, &ccb->ccb_dmam);
ccb 641 dev/isa/aha.c bus_dmamap_destroy(sc->sc_dmat, ccb->dmam);
ccb 656 dev/isa/aha.c struct aha_ccb *ccb;
ccb 666 dev/isa/aha.c ccb = TAILQ_FIRST(&sc->sc_free_ccb);
ccb 667 dev/isa/aha.c if (ccb) {
ccb 668 dev/isa/aha.c TAILQ_REMOVE(&sc->sc_free_ccb, ccb, chain);
ccb 672 dev/isa/aha.c MALLOC(ccb, struct aha_ccb *, sizeof *ccb, M_DEVBUF,
ccb 674 dev/isa/aha.c if (ccb == NULL) {
ccb 679 dev/isa/aha.c if (aha_init_ccb(sc, ccb, flags) == 0) {
ccb 683 dev/isa/aha.c FREE(ccb, M_DEVBUF);
ccb 684 dev/isa/aha.c ccb = NULL;
ccb 691 dev/isa/aha.c ccb->flags |= CCB_ALLOC;
ccb 693 dev/isa/aha.c if (bus_dmamap_load(sc->sc_dmat, ccb->ccb_dmam, ccb, CCB_PHYS_SIZE,
ccb 695 dev/isa/aha.c aha_free_ccb(sc, ccb);
ccb 696 dev/isa/aha.c ccb = NULL;
ccb 698 dev/isa/aha.c hashnum = CCB_HASH(ccb->ccb_dmam->dm_segs[0].ds_addr);
ccb 699 dev/isa/aha.c ccb->nexthash = sc->sc_ccbhash[hashnum];
ccb 700 dev/isa/aha.c sc->sc_ccbhash[hashnum] = ccb;
ccb 704 dev/isa/aha.c return (ccb);
ccb 716 dev/isa/aha.c struct aha_ccb *ccb = sc->sc_ccbhash[hashnum];
ccb 718 dev/isa/aha.c while (ccb) {
ccb 719 dev/isa/aha.c if (ccb->ccb_dmam->dm_segs[0].ds_addr == ccb_phys)
ccb 721 dev/isa/aha.c ccb = ccb->nexthash;
ccb 723 dev/isa/aha.c return (ccb);
ccb 730 dev/isa/aha.c aha_queue_ccb(sc, ccb)
ccb 732 dev/isa/aha.c struct aha_ccb *ccb;
ccb 735 dev/isa/aha.c TAILQ_INSERT_TAIL(&sc->sc_waiting_ccb, ccb, chain);
ccb 748 dev/isa/aha.c struct aha_ccb *ccb;
ccb 758 dev/isa/aha.c ccb = aha_ccb_phys_kv(sc, phystol(wmbo->ccb_addr));
ccb 759 dev/isa/aha.c if (!ccb) {
ccb 763 dev/isa/aha.c ccb->flags &= ~CCB_SENDING;
ccb 782 dev/isa/aha.c struct aha_ccb *ccb;
ccb 786 dev/isa/aha.c while ((ccb = TAILQ_FIRST(&sc->sc_waiting_ccb)) != NULL) {
ccb 800 dev/isa/aha.c TAILQ_REMOVE(&sc->sc_waiting_ccb, ccb, chain);
ccb 802 dev/isa/aha.c ccb->flags |= CCB_SENDING;
ccb 806 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmam, 0,
ccb 807 dev/isa/aha.c ccb->ccb_dmam->dm_mapsize, BUS_DMASYNC_PREWRITE);
ccb 808 dev/isa/aha.c ltophys(ccb->ccb_dmam->dm_segs[0].ds_addr, wmbo->ccb_addr);
ccb 809 dev/isa/aha.c if (ccb->flags & CCB_ABORT)
ccb 817 dev/isa/aha.c if ((ccb->xs->flags & SCSI_POLL) == 0) {
ccb 818 dev/isa/aha.c timeout_set(&ccb->xs->stimeout, aha_timeout, ccb);
ccb 819 dev/isa/aha.c timeout_add(&ccb->xs->stimeout, (ccb->timeout * hz) / 1000);
ccb 835 dev/isa/aha.c aha_done(sc, ccb)
ccb 837 dev/isa/aha.c struct aha_ccb *ccb;
ccb 840 dev/isa/aha.c struct scsi_xfer *xs = ccb->xs;
ccb 848 dev/isa/aha.c if (ccb->flags & CCB_SENDING) {
ccb 855 dev/isa/aha.c if ((ccb->flags & CCB_ALLOC) == 0) {
ccb 862 dev/isa/aha.c if (ccb->host_stat != AHA_OK) {
ccb 863 dev/isa/aha.c switch (ccb->host_stat) {
ccb 869 dev/isa/aha.c sc->sc_dev.dv_xname, ccb->host_stat);
ccb 873 dev/isa/aha.c } else if (ccb->target_stat != SCSI_OK) {
ccb 874 dev/isa/aha.c switch (ccb->target_stat) {
ccb 877 dev/isa/aha.c (((char *)(&ccb->scsi_cmd)) +
ccb 878 dev/isa/aha.c ccb->scsi_cmd_length);
ccb 888 dev/isa/aha.c sc->sc_dev.dv_xname, ccb->target_stat);
ccb 898 dev/isa/aha.c wakeup(ccb);
ccb 902 dev/isa/aha.c if (ccb->dmam->dm_nsegs > 0) {
ccb 904 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->dmam, 0,
ccb 905 dev/isa/aha.c ccb->dmam->dm_mapsize, BUS_DMASYNC_POSTREAD);
ccb 907 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->dmam, 0,
ccb 908 dev/isa/aha.c ccb->dmam->dm_mapsize, BUS_DMASYNC_POSTWRITE);
ccb 909 dev/isa/aha.c bus_dmamap_unload(sc->sc_dmat, ccb->dmam);
ccb 911 dev/isa/aha.c aha_free_ccb(sc, ccb);
ccb 1261 dev/isa/aha.c struct aha_ccb *ccb;
ccb 1277 dev/isa/aha.c if ((ccb = aha_get_ccb(sc, flags)) == NULL) {
ccb 1280 dev/isa/aha.c ccb->xs = xs;
ccb 1281 dev/isa/aha.c ccb->timeout = xs->timeout;
ccb 1287 dev/isa/aha.c ccb->opcode = AHA_RESET_CCB;
ccb 1288 dev/isa/aha.c ccb->scsi_cmd_length = 0;
ccb 1291 dev/isa/aha.c ccb->opcode =
ccb 1293 dev/isa/aha.c bcopy(xs->cmd, &ccb->scsi_cmd,
ccb 1294 dev/isa/aha.c ccb->scsi_cmd_length = xs->cmdlen);
ccb 1298 dev/isa/aha.c sg = ccb->scat_gath;
ccb 1322 dev/isa/aha.c if (bus_dmamap_load(sc->sc_dmat, ccb->dmam, xs->data,
ccb 1324 dev/isa/aha.c aha_free_ccb(sc, ccb);
ccb 1328 dev/isa/aha.c for (seg = 0; seg < ccb->dmam->dm_nsegs; seg++) {
ccb 1329 dev/isa/aha.c ltophys(ccb->dmam->dm_segs[seg].ds_addr,
ccb 1331 dev/isa/aha.c ltophys(ccb->dmam->dm_segs[seg].ds_len,
ccb 1336 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->dmam, 0,
ccb 1337 dev/isa/aha.c ccb->dmam->dm_mapsize, BUS_DMASYNC_PREWRITE);
ccb 1339 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->dmam, 0,
ccb 1340 dev/isa/aha.c ccb->dmam->dm_mapsize, BUS_DMASYNC_PREREAD);
ccb 1342 dev/isa/aha.c ((struct aha_ccb *)(ccb->ccb_dmam->dm_segs[0].ds_addr))->
ccb 1344 dev/isa/aha.c ccb->data_addr);
ccb 1345 dev/isa/aha.c ltophys(ccb->dmam->dm_nsegs * sizeof(struct aha_scat_gath),
ccb 1346 dev/isa/aha.c ccb->data_length);
ccb 1348 dev/isa/aha.c ltophys(0, ccb->data_addr);
ccb 1349 dev/isa/aha.c ltophys(0, ccb->data_length);
ccb 1352 dev/isa/aha.c ccb->data_out = 0;
ccb 1353 dev/isa/aha.c ccb->data_in = 0;
ccb 1354 dev/isa/aha.c ccb->target = sc_link->target;
ccb 1355 dev/isa/aha.c ccb->lun = sc_link->lun;
ccb 1356 dev/isa/aha.c ccb->req_sense_length = sizeof(ccb->scsi_sense);
ccb 1357 dev/isa/aha.c ccb->host_stat = 0x00;
ccb 1358 dev/isa/aha.c ccb->target_stat = 0x00;
ccb 1359 dev/isa/aha.c ccb->link_id = 0;
ccb 1360 dev/isa/aha.c ltophys(0, ccb->link_addr);
ccb 1363 dev/isa/aha.c aha_queue_ccb(sc, ccb);
ccb 1371 dev/isa/aha.c while ((ccb->xs->flags & ITSDONE) == 0) {
ccb 1372 dev/isa/aha.c tsleep(ccb, PRIBIO, "ahawait", 0);
ccb 1374 dev/isa/aha.c if (ccb->dmam->dm_nsegs > 0) {
ccb 1376 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->dmam, 0,
ccb 1377 dev/isa/aha.c ccb->dmam->dm_mapsize,
ccb 1380 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->dmam, 0,
ccb 1381 dev/isa/aha.c ccb->dmam->dm_mapsize,
ccb 1383 dev/isa/aha.c bus_dmamap_unload(sc->sc_dmat, ccb->dmam);
ccb 1385 dev/isa/aha.c aha_free_ccb(sc, ccb);
ccb 1398 dev/isa/aha.c if (aha_poll(sc, xs, ccb->timeout)) {
ccb 1399 dev/isa/aha.c aha_timeout(ccb);
ccb 1400 dev/isa/aha.c if (aha_poll(sc, xs, ccb->timeout))
ccb 1401 dev/isa/aha.c aha_timeout(ccb);
ccb 1441 dev/isa/aha.c struct aha_ccb *ccb = arg;
ccb 1448 dev/isa/aha.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmam, 0,
ccb 1449 dev/isa/aha.c ccb->ccb_dmam->dm_mapsize, BUS_DMASYNC_POSTREAD);
ccb 1450 dev/isa/aha.c xs = ccb->xs;
ccb 1462 dev/isa/aha.c if (ccb->flags & CCB_SENDING) {
ccb 1473 dev/isa/aha.c if (ccb->flags & CCB_ABORT) {
ccb 1480 dev/isa/aha.c ccb->xs->error = XS_TIMEOUT;
ccb 1481 dev/isa/aha.c ccb->timeout = AHA_ABORT_TIMEOUT;
ccb 1482 dev/isa/aha.c ccb->flags |= CCB_ABORT;
ccb 1483 dev/isa/aha.c aha_queue_ccb(sc, ccb);
ccb 584 dev/isa/wds.c sc->sc_scbhash[hashnum] = ccb;
ccb 820 dev/pci/ahci.c struct ahci_ccb *ccb;
ccb 931 dev/pci/ahci.c ccb = &ap->ap_ccbs[i];
ccb 935 dev/pci/ahci.c &ccb->ccb_dmamap) != 0) {
ccb 941 dev/pci/ahci.c ccb->ccb_slot = i;
ccb 942 dev/pci/ahci.c ccb->ccb_port = ap;
ccb 943 dev/pci/ahci.c ccb->ccb_cmd_hdr = &hdr[i];
ccb 944 dev/pci/ahci.c ccb->ccb_cmd_table = &table[i];
ccb 946 dev/pci/ahci.c ccb->ccb_slot * sizeof(struct ahci_cmd_table);
ccb 947 dev/pci/ahci.c ccb->ccb_cmd_hdr->ctba_hi = htole32((u_int32_t)(dva >> 32));
ccb 948 dev/pci/ahci.c ccb->ccb_cmd_hdr->ctba_lo = htole32((u_int32_t)dva);
ccb 950 dev/pci/ahci.c ccb->ccb_xa.fis =
ccb 951 dev/pci/ahci.c (struct ata_fis_h2d *)ccb->ccb_cmd_table->cfis;
ccb 952 dev/pci/ahci.c ccb->ccb_xa.packetcmd = ccb->ccb_cmd_table->acmd;
ccb 953 dev/pci/ahci.c ccb->ccb_xa.tag = i;
ccb 955 dev/pci/ahci.c ccb->ccb_xa.ata_put_xfer = ahci_ata_put_xfer;
ccb 957 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_COMPLETE;
ccb 958 dev/pci/ahci.c ahci_put_ccb(ccb);
ccb 1038 dev/pci/ahci.c struct ahci_ccb *ccb;
ccb 1049 dev/pci/ahci.c while ((ccb = ahci_get_ccb(ap)) != NULL)
ccb 1050 dev/pci/ahci.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 1163 dev/pci/ahci.c struct ahci_ccb *ccb = NULL;
ccb 1209 dev/pci/ahci.c ccb = ahci_get_err_ccb(ap);
ccb 1210 dev/pci/ahci.c cmd_slot = ccb->ccb_cmd_hdr;
ccb 1211 dev/pci/ahci.c bzero(ccb->ccb_cmd_table, sizeof(struct ahci_cmd_table));
ccb 1213 dev/pci/ahci.c fis = ccb->ccb_cmd_table->cfis;
ccb 1223 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_PENDING;
ccb 1224 dev/pci/ahci.c if (ahci_poll(ccb, 1000, NULL) != 0)
ccb 1235 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_PENDING;
ccb 1236 dev/pci/ahci.c if (ahci_poll(ccb, 1000, NULL) != 0)
ccb 1250 dev/pci/ahci.c if (ccb != NULL) {
ccb 1252 dev/pci/ahci.c if (rc != 0 && ISSET(ap->ap_active, 1 << ccb->ccb_slot)) {
ccb 1254 dev/pci/ahci.c "still active.\n", PORTNAME(ap), ccb->ccb_slot);
ccb 1257 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_ERROR;
ccb 1258 dev/pci/ahci.c ahci_put_err_ccb(ccb);
ccb 1323 dev/pci/ahci.c ahci_load_prdt(struct ahci_ccb *ccb)
ccb 1325 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 1327 dev/pci/ahci.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 1328 dev/pci/ahci.c struct ahci_prdt *prdt = ccb->ccb_cmd_table->prdt, *prd;
ccb 1329 dev/pci/ahci.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 1330 dev/pci/ahci.c struct ahci_cmd_hdr *cmd_slot = ccb->ccb_cmd_hdr;
ccb 1335 dev/pci/ahci.c ccb->ccb_cmd_hdr->prdtl = 0;
ccb 1379 dev/pci/ahci.c ahci_unload_prdt(struct ahci_ccb *ccb)
ccb 1381 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 1383 dev/pci/ahci.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 1384 dev/pci/ahci.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 1393 dev/pci/ahci.c if (ccb->ccb_xa.flags & ATA_F_NCQ)
ccb 1397 dev/pci/ahci.c letoh32(ccb->ccb_cmd_hdr->prdbc);
ccb 1402 dev/pci/ahci.c ahci_poll(struct ahci_ccb *ccb, int timeout, void (*timeout_fn)(void *))
ccb 1404 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 1408 dev/pci/ahci.c ahci_start(ccb);
ccb 1411 dev/pci/ahci.c 1 << ccb->ccb_slot)) {
ccb 1421 dev/pci/ahci.c timeout_fn(ccb);
ccb 1429 dev/pci/ahci.c ahci_start(struct ahci_ccb *ccb)
ccb 1431 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 1434 dev/pci/ahci.c KASSERT(ccb->ccb_xa.state == ATA_S_PENDING);
ccb 1437 dev/pci/ahci.c ccb->ccb_cmd_hdr->prdbc = 0;
ccb 1441 dev/pci/ahci.c ccb->ccb_slot * sizeof(struct ahci_cmd_hdr),
ccb 1444 dev/pci/ahci.c ccb->ccb_slot * sizeof(struct ahci_cmd_table),
ccb 1451 dev/pci/ahci.c if (ccb->ccb_xa.flags & ATA_F_NCQ) {
ccb 1455 dev/pci/ahci.c TAILQ_INSERT_TAIL(&ap->ap_ccb_pending, ccb, ccb_entry);
ccb 1458 dev/pci/ahci.c ap->ap_sactive |= (1 << ccb->ccb_slot);
ccb 1459 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_ONCHIP;
ccb 1460 dev/pci/ahci.c ahci_pwrite(ap, AHCI_PREG_SACT, 1 << ccb->ccb_slot);
ccb 1461 dev/pci/ahci.c ahci_pwrite(ap, AHCI_PREG_CI, 1 << ccb->ccb_slot);
ccb 1467 dev/pci/ahci.c TAILQ_INSERT_TAIL(&ap->ap_ccb_pending, ccb, ccb_entry);
ccb 1469 dev/pci/ahci.c ap->ap_active |= 1 << ccb->ccb_slot;
ccb 1470 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_ONCHIP;
ccb 1471 dev/pci/ahci.c ahci_pwrite(ap, AHCI_PREG_CI, 1 << ccb->ccb_slot);
ccb 1599 dev/pci/ahci.c struct ahci_ccb *ccb;
ccb 1639 dev/pci/ahci.c ccb = &ap->ap_ccbs[err_slot];
ccb 1642 dev/pci/ahci.c memcpy(&ccb->ccb_xa.rfis, ap->ap_rfis->rfis,
ccb 1689 dev/pci/ahci.c ccb = &ap->ap_ccbs[err_slot];
ccb 1714 dev/pci/ahci.c KASSERT(ccb->ccb_xa.state == ATA_S_ONCHIP);
ccb 1715 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_ERROR;
ccb 1753 dev/pci/ahci.c ccb = &ap->ap_ccbs[slot];
ccb 1755 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_ERROR;
ccb 1774 dev/pci/ahci.c ccb = &ap->ap_ccbs[slot];
ccb 1778 dev/pci/ahci.c PORTNAME(ap), slot, ccb->ccb_xa.state == ATA_S_ERROR ?
ccb 1783 dev/pci/ahci.c ccb->ccb_slot * sizeof(struct ahci_cmd_hdr),
ccb 1788 dev/pci/ahci.c ccb->ccb_slot * sizeof(struct ahci_cmd_table),
ccb 1795 dev/pci/ahci.c *active &= ~(1 << ccb->ccb_slot);
ccb 1796 dev/pci/ahci.c ccb->ccb_done(ccb);
ccb 1798 dev/pci/ahci.c processed |= 1 << ccb->ccb_slot;
ccb 1812 dev/pci/ahci.c ccb = &ap->ap_ccbs[slot];
ccb 1813 dev/pci/ahci.c KASSERT(ccb->ccb_xa.state == ATA_S_ONCHIP);
ccb 1814 dev/pci/ahci.c KASSERT((!!(ccb->ccb_xa.flags & ATA_F_NCQ)) ==
ccb 1834 dev/pci/ahci.c struct ahci_ccb *ccb;
ccb 1836 dev/pci/ahci.c ccb = TAILQ_FIRST(&ap->ap_ccb_free);
ccb 1837 dev/pci/ahci.c if (ccb != NULL) {
ccb 1838 dev/pci/ahci.c KASSERT(ccb->ccb_xa.state == ATA_S_PUT);
ccb 1839 dev/pci/ahci.c TAILQ_REMOVE(&ap->ap_ccb_free, ccb, ccb_entry);
ccb 1840 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_SETUP;
ccb 1843 dev/pci/ahci.c return (ccb);
ccb 1847 dev/pci/ahci.c ahci_put_ccb(struct ahci_ccb *ccb)
ccb 1849 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 1852 dev/pci/ahci.c if (ccb->ccb_xa.state != ATA_S_COMPLETE &&
ccb 1853 dev/pci/ahci.c ccb->ccb_xa.state != ATA_S_TIMEOUT &&
ccb 1854 dev/pci/ahci.c ccb->ccb_xa.state != ATA_S_ERROR) {
ccb 1856 dev/pci/ahci.c "slot %d\n", PORTNAME(ccb->ccb_port), ccb->ccb_xa.state,
ccb 1857 dev/pci/ahci.c ccb->ccb_slot);
ccb 1861 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_PUT;
ccb 1862 dev/pci/ahci.c TAILQ_INSERT_TAIL(&ap->ap_ccb_free, ccb, ccb_entry);
ccb 1907 dev/pci/ahci.c ahci_put_err_ccb(struct ahci_ccb *ccb)
ccb 1909 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 1924 dev/pci/ahci.c ahci_put_ccb(ccb);
ccb 1939 dev/pci/ahci.c struct ahci_ccb *ccb;
ccb 1955 dev/pci/ahci.c ccb = ahci_get_err_ccb(ap);
ccb 1956 dev/pci/ahci.c ccb->ccb_xa.flags = ATA_F_NOWAIT | ATA_F_READ | ATA_F_POLL;
ccb 1957 dev/pci/ahci.c ccb->ccb_xa.data = ap->ap_err_scratch;
ccb 1958 dev/pci/ahci.c ccb->ccb_xa.datalen = 512;
ccb 1959 dev/pci/ahci.c cmd_slot = ccb->ccb_cmd_hdr;
ccb 1960 dev/pci/ahci.c bzero(ccb->ccb_cmd_table, sizeof(struct ahci_cmd_table));
ccb 1962 dev/pci/ahci.c fis = (struct ata_fis_h2d *)ccb->ccb_cmd_table->cfis;
ccb 1975 dev/pci/ahci.c if (ahci_load_prdt(ccb) != 0) {
ccb 1980 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_PENDING;
ccb 1981 dev/pci/ahci.c if (ahci_poll(ccb, 1000, NULL) != 0)
ccb 1987 dev/pci/ahci.c if (rc != 0 && ISSET(ap->ap_active, 1 << ccb->ccb_slot)) {
ccb 1989 dev/pci/ahci.c PORTNAME(ap), ccb->ccb_slot);
ccb 1994 dev/pci/ahci.c ahci_unload_prdt(ccb);
ccb 1995 dev/pci/ahci.c ahci_put_err_ccb(ccb);
ccb 2013 dev/pci/ahci.c ccb = &ap->ap_ccbs[err_slot];
ccb 2014 dev/pci/ahci.c memcpy(&ccb->ccb_xa.rfis, &log->err_regs,
ccb 2016 dev/pci/ahci.c ccb->ccb_xa.rfis.type = ATA_FIS_TYPE_D2H;
ccb 2017 dev/pci/ahci.c ccb->ccb_xa.rfis.flags = 0;
ccb 2166 dev/pci/ahci.c struct ahci_ccb *ccb;
ccb 2170 dev/pci/ahci.c ccb = ahci_get_ccb(ap);
ccb 2171 dev/pci/ahci.c if (ccb == NULL) {
ccb 2178 dev/pci/ahci.c PORTNAME(ap), ccb->ccb_slot);
ccb 2180 dev/pci/ahci.c return ((struct ata_xfer *)ccb);
ccb 2186 dev/pci/ahci.c struct ahci_ccb *ccb = (struct ahci_ccb *)xa;
ccb 2190 dev/pci/ahci.c DPRINTF(AHCI_D_XFER, "ahci_ata_put_xfer slot %d\n", ccb->ccb_slot);
ccb 2192 dev/pci/ahci.c ahci_put_ccb(ccb);
ccb 2198 dev/pci/ahci.c struct ahci_ccb *ccb = (struct ahci_ccb *)xa;
ccb 2204 dev/pci/ahci.c if (ccb->ccb_port->ap_state == AP_S_FATAL_ERROR)
ccb 2207 dev/pci/ahci.c ccb->ccb_done = ahci_ata_cmd_done;
ccb 2209 dev/pci/ahci.c cmd_slot = ccb->ccb_cmd_hdr;
ccb 2218 dev/pci/ahci.c if (ahci_load_prdt(ccb) != 0)
ccb 2221 dev/pci/ahci.c timeout_set(&xa->stimeout, ahci_ata_cmd_timeout, ccb);
ccb 2226 dev/pci/ahci.c ahci_poll(ccb, xa->timeout, ahci_ata_cmd_timeout);
ccb 2233 dev/pci/ahci.c ahci_start(ccb);
ccb 2246 dev/pci/ahci.c ahci_ata_cmd_done(struct ahci_ccb *ccb)
ccb 2248 dev/pci/ahci.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 2253 dev/pci/ahci.c ahci_issue_pending_commands(ccb->ccb_port,
ccb 2256 dev/pci/ahci.c ahci_unload_prdt(ccb);
ccb 2263 dev/pci/ahci.c "slot %d\n", PORTNAME(ccb->ccb_port), xa->state,
ccb 2264 dev/pci/ahci.c ccb->ccb_slot);
ccb 2273 dev/pci/ahci.c struct ahci_ccb *ccb = arg;
ccb 2274 dev/pci/ahci.c struct ata_xfer *xa = &ccb->ccb_xa;
ccb 2275 dev/pci/ahci.c struct ahci_port *ap = ccb->ccb_port;
ccb 2284 dev/pci/ahci.c if (ccb->ccb_xa.state == ATA_S_PENDING) {
ccb 2286 dev/pci/ahci.c "before it got on chip\n", PORTNAME(ap), ccb->ccb_slot);
ccb 2287 dev/pci/ahci.c TAILQ_REMOVE(&ap->ap_ccb_pending, ccb, ccb_entry);
ccb 2289 dev/pci/ahci.c } else if (ccb->ccb_xa.state == ATA_S_ONCHIP && ahci_port_intr(ap,
ccb 2290 dev/pci/ahci.c 1 << ccb->ccb_slot)) {
ccb 2292 dev/pci/ahci.c "command in slot %d\n", PORTNAME(ap), ccb->ccb_slot);
ccb 2294 dev/pci/ahci.c } else if (ccb->ccb_xa.state != ATA_S_ONCHIP) {
ccb 2296 dev/pci/ahci.c "handled%s\n", PORTNAME(ap), ccb->ccb_slot,
ccb 2297 dev/pci/ahci.c ISSET(*active, 1 << ccb->ccb_slot) ?
ccb 2301 dev/pci/ahci.c AHCI_PREG_CI), 1 << ccb->ccb_slot) && ISSET(*active,
ccb 2302 dev/pci/ahci.c 1 << ccb->ccb_slot)) {
ccb 2305 dev/pci/ahci.c ccb->ccb_slot);
ccb 2306 dev/pci/ahci.c *active &= ~(1 << ccb->ccb_slot);
ccb 2307 dev/pci/ahci.c ccb->ccb_done(ccb);
ccb 2314 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_TIMEOUT;
ccb 2315 dev/pci/ahci.c *active &= ~(1 << ccb->ccb_slot);
ccb 2317 dev/pci/ahci.c ccb->ccb_done(ccb); /* This won't issue pending commands or run the
ccb 2324 dev/pci/ahci.c : "", ccb->ccb_slot, *active);
ccb 2360 dev/pci/ahci.c ahci_empty_done(struct ahci_ccb *ccb)
ccb 2362 dev/pci/ahci.c ccb->ccb_xa.state = ATA_S_COMPLETE;
ccb 607 dev/pci/arc.c struct arc_ccb *ccb = NULL;
ccb 638 dev/pci/arc.c ccb = &sc->sc_ccbs[letoh32(cmd->cmd.context)];
ccb 641 dev/pci/arc.c ccb->ccb_offset, ARC_MAX_IOCMDLEN,
ccb 644 dev/pci/arc.c arc_scsi_cmd_done(sc, ccb, reg);
ccb 655 dev/pci/arc.c struct arc_ccb *ccb;
ccb 674 dev/pci/arc.c ccb = arc_get_ccb(sc);
ccb 676 dev/pci/arc.c if (ccb == NULL) {
ccb 684 dev/pci/arc.c ccb->ccb_xs = xs;
ccb 686 dev/pci/arc.c if (arc_load_xs(ccb) != 0) {
ccb 689 dev/pci/arc.c arc_put_ccb(sc, ccb);
ccb 695 dev/pci/arc.c cmd = &ccb->ccb_cmd->cmd;
ccb 696 dev/pci/arc.c reg = ccb->ccb_cmd_post;
ccb 704 dev/pci/arc.c cmd->sgl_len = ccb->ccb_dmamap->dm_nsegs;
ccb 707 dev/pci/arc.c if (ccb->ccb_dmamap->dm_nsegs > ARC_SGL_256LEN) {
ccb 712 dev/pci/arc.c cmd->context = htole32(ccb->ccb_id);
ccb 719 dev/pci/arc.c ccb->ccb_offset, ARC_MAX_IOCMDLEN,
ccb 726 dev/pci/arc.c if (arc_complete(sc, ccb, xs->timeout) != 0) {
ccb 737 dev/pci/arc.c arc_load_xs(struct arc_ccb *ccb)
ccb 739 dev/pci/arc.c struct arc_softc *sc = ccb->ccb_sc;
ccb 740 dev/pci/arc.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 741 dev/pci/arc.c bus_dmamap_t dmap = ccb->ccb_dmamap;
ccb 742 dev/pci/arc.c struct arc_sge *sgl = ccb->ccb_cmd->sgl, *sge;
ccb 774 dev/pci/arc.c arc_scsi_cmd_done(struct arc_softc *sc, struct arc_ccb *ccb, u_int32_t reg)
ccb 776 dev/pci/arc.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 780 dev/pci/arc.c bus_dmamap_sync(sc->sc_dmat, ccb->ccb_dmamap, 0,
ccb 781 dev/pci/arc.c ccb->ccb_dmamap->dm_mapsize, (xs->flags & SCSI_DATA_IN) ?
ccb 783 dev/pci/arc.c bus_dmamap_unload(sc->sc_dmat, ccb->ccb_dmamap);
ccb 790 dev/pci/arc.c cmd = &ccb->ccb_cmd->cmd;
ccb 822 dev/pci/arc.c arc_put_ccb(sc, ccb);
ccb 829 dev/pci/arc.c struct arc_ccb *ccb = NULL;
ccb 847 dev/pci/arc.c ccb = &sc->sc_ccbs[letoh32(cmd->cmd.context)];
ccb 850 dev/pci/arc.c ccb->ccb_offset, ARC_MAX_IOCMDLEN,
ccb 853 dev/pci/arc.c arc_scsi_cmd_done(sc, ccb, reg);
ccb 854 dev/pci/arc.c } while (nccb != ccb);
ccb 1779 dev/pci/arc.c struct arc_ccb *ccb;
ccb 1798 dev/pci/arc.c ccb = &sc->sc_ccbs[i];
ccb 1801 dev/pci/arc.c MAXPHYS, 0, 0, &ccb->ccb_dmamap) != 0) {
ccb 1807 dev/pci/arc.c ccb->ccb_sc = sc;
ccb 1808 dev/pci/arc.c ccb->ccb_id = i;
ccb 1809 dev/pci/arc.c ccb->ccb_offset = ARC_MAX_IOCMDLEN * i;
ccb 1811 dev/pci/arc.c ccb->ccb_cmd = (struct arc_io_cmd *)&cmd[ccb->ccb_offset];
ccb 1812 dev/pci/arc.c ccb->ccb_cmd_post = (ARC_DMA_DVA(sc->sc_requests) +
ccb 1813 dev/pci/arc.c ccb->ccb_offset) >> ARC_REG_POST_QUEUE_ADDR_SHIFT;
ccb 1815 dev/pci/arc.c arc_put_ccb(sc, ccb);
ccb 1821 dev/pci/arc.c while ((ccb = arc_get_ccb(sc)) != NULL)
ccb 1822 dev/pci/arc.c bus_dmamap_destroy(sc->sc_dmat, ccb->ccb_dmamap);
ccb 1834 dev/pci/arc.c struct arc_ccb *ccb;
ccb 1836 dev/pci/arc.c ccb = TAILQ_FIRST(&sc->sc_ccb_free);
ccb 1837 dev/pci/arc.c if (ccb != NULL)
ccb 1838 dev/pci/arc.c TAILQ_REMOVE(&sc->sc_ccb_free, ccb, ccb_link);
ccb 1840 dev/pci/arc.c return (ccb);
ccb 1844 dev/pci/arc.c arc_put_ccb(struct arc_softc *sc, struct arc_ccb *ccb)
ccb 1846 dev/pci/arc.c ccb->ccb_xs = NULL;
ccb 1847 dev/pci/arc.c bzero(ccb->ccb_cmd, ARC_MAX_IOCMDLEN);
ccb 1848 dev/pci/arc.c TAILQ_INSERT_TAIL(&sc->sc_ccb_free, ccb, ccb_link);
ccb 244 dev/pci/cac_pci.c cac_pci_l0_submit(struct cac_softc *sc, struct cac_ccb *ccb)
ccb 250 dev/pci/cac_pci.c cac_outl(sc, CAC_42REG_CMD_FIFO, ccb->ccb_paddr);
ccb 256 dev/pci/cac_pci.c struct cac_ccb *ccb;
ccb 264 dev/pci/cac_pci.c ccb = (struct cac_ccb *)(sc->sc_ccbs + off);
ccb 270 dev/pci/cac_pci.c return (ccb);
ccb 615 dev/pci/gdt_pci.c gdt_pci_copy_cmd(gdt, ccb)
ccb 617 dev/pci/gdt_pci.c struct gdt_ccb *ccb;
ccb 639 dev/pci/gdt_pci.c gdt_pci_release_event(gdt, ccb)
ccb 641 dev/pci/gdt_pci.c struct gdt_ccb *ccb;
ccb 666 dev/pci/gdt_pci.c gdt_pcinew_copy_cmd(gdt, ccb)
ccb 668 dev/pci/gdt_pci.c struct gdt_ccb *ccb;
ccb 690 dev/pci/gdt_pci.c gdt_pcinew_release_event(gdt, ccb)
ccb 692 dev/pci/gdt_pci.c struct gdt_ccb *ccb;
ccb 717 dev/pci/gdt_pci.c gdt_mpr_copy_cmd(gdt, ccb)
ccb 719 dev/pci/gdt_pci.c struct gdt_ccb *ccb;
ccb 734 dev/pci/gdt_pci.c ccb->gc_service);
ccb 779 dev/pci/gdt_pci.c gdt_mpr_release_event(gdt, ccb)
ccb 781 dev/pci/gdt_pci.c struct gdt_ccb *ccb;
ccb 786 dev/pci/gdt_pci.c ccb->gc_service |= 0x80;
ccb 630 dev/pci/ips.c struct ips_ccb *ccb;
ccb 638 dev/pci/ips.c if ((ccb = ips_ccb_get(sc)) == NULL) {
ccb 643 dev/pci/ips.c ccb->c_flags = flags;
ccb 644 dev/pci/ips.c ccb->c_xfer = xs;
ccb 647 dev/pci/ips.c cmd = ccb->c_cmdva;
ccb 649 dev/pci/ips.c cmd->id = ccb->c_id;
ccb 656 dev/pci/ips.c if (bus_dmamap_load(sc->sc_dmat, ccb->c_dmam, data, size,
ccb 662 dev/pci/ips.c bus_dmamap_sync(sc->sc_dmat, ccb->c_dmam, 0,
ccb 663 dev/pci/ips.c ccb->c_dmam->dm_mapsize,
ccb 667 dev/pci/ips.c if ((nsegs = ccb->c_dmam->dm_nsegs) > IPS_MAXSGS) {
ccb 676 dev/pci/ips.c cmd->sgaddr = htole32(ccb->c_cmdpa + IPS_CMDSZ);
ccb 682 dev/pci/ips.c htole32(ccb->c_dmam->dm_segs[i].ds_addr);
ccb 684 dev/pci/ips.c htole32(ccb->c_dmam->dm_segs[i].ds_len);
ccb 688 dev/pci/ips.c cmd->sgaddr = htole32(ccb->c_dmam->dm_segs[0].ds_addr);
ccb 694 dev/pci/ips.c ccb->c_id));
ccb 695 dev/pci/ips.c ccb->c_flags |= IPS_CCB_RUN;
ccb 696 dev/pci/ips.c TAILQ_INSERT_TAIL(&sc->sc_ccbq_run, ccb, c_link);
ccb 697 dev/pci/ips.c ips_exec(sc, ccb);
ccb 701 dev/pci/ips.c error = ips_poll(sc, ccb);
ccb 709 dev/pci/ips.c struct ips_ccb *ccb = NULL;
ccb 713 dev/pci/ips.c while (ccb != c) {
ccb 729 dev/pci/ips.c ccb = &sc->sc_ccb[id];
ccb 730 dev/pci/ips.c ccb->c_stat = IPS_REG_STAT_GSC(status);
ccb 731 dev/pci/ips.c ccb->c_estat = IPS_REG_STAT_EXT(status);
ccb 732 dev/pci/ips.c ips_done(sc, ccb);
ccb 739 dev/pci/ips.c ips_done(struct ips_softc *sc, struct ips_ccb *ccb)
ccb 741 dev/pci/ips.c struct scsi_xfer *xs = ccb->c_xfer;
ccb 742 dev/pci/ips.c int flags = ccb->c_flags;
ccb 747 dev/pci/ips.c ccb->c_id);
ccb 756 dev/pci/ips.c bus_dmamap_sync(sc->sc_dmat, ccb->c_dmam, 0,
ccb 757 dev/pci/ips.c ccb->c_dmam->dm_mapsize, flags & IPS_CCB_READ ?
ccb 759 dev/pci/ips.c bus_dmamap_unload(sc->sc_dmat, ccb->c_dmam);
ccb 762 dev/pci/ips.c if (ccb->c_stat) {
ccb 764 dev/pci/ips.c if (ccb->c_stat == 1) {
ccb 773 dev/pci/ips.c TAILQ_REMOVE(&sc->sc_ccbq_run, ccb, c_link);
ccb 774 dev/pci/ips.c ips_ccb_put(sc, ccb);
ccb 790 dev/pci/ips.c struct ips_ccb *ccb;
ccb 808 dev/pci/ips.c ccb = &sc->sc_ccb[id];
ccb 809 dev/pci/ips.c ccb->c_stat = IPS_REG_STAT_GSC(status);
ccb 810 dev/pci/ips.c ccb->c_estat = IPS_REG_STAT_EXT(status);
ccb 811 dev/pci/ips.c ips_done(sc, ccb);
ccb 838 dev/pci/ips.c ips_copperhead_exec(struct ips_softc *sc, struct ips_ccb *ccb)
ccb 853 dev/pci/ips.c bus_space_write_4(sc->sc_iot, sc->sc_ioh, IPS_REG_CCSA, ccb->c_cmdpa);
ccb 898 dev/pci/ips.c ips_morpheus_exec(struct ips_softc *sc, struct ips_ccb *ccb)
ccb 900 dev/pci/ips.c bus_space_write_4(sc->sc_iot, sc->sc_ioh, IPS_REG_IQP, ccb->c_cmdpa);
ccb 951 dev/pci/ips.c struct ips_ccb *ccb;
ccb 954 dev/pci/ips.c if ((ccb = malloc(n * sizeof(*ccb), M_DEVBUF, M_NOWAIT)) == NULL)
ccb 956 dev/pci/ips.c bzero(ccb, n * sizeof(*ccb));
ccb 959 dev/pci/ips.c ccb[i].c_id = i;
ccb 960 dev/pci/ips.c ccb[i].c_cmdva = (char *)sc->sc_cmdm.dm_vaddr +
ccb 962 dev/pci/ips.c ccb[i].c_cmdpa = sc->sc_cmdm.dm_paddr + i * IPS_MAXCMDSZ;
ccb 965 dev/pci/ips.c &ccb[i].c_dmam))
ccb 969 dev/pci/ips.c return (ccb);
ccb 972 dev/pci/ips.c bus_dmamap_destroy(sc->sc_dmat, ccb[i - 1].c_dmam);
ccb 973 dev/pci/ips.c free(ccb, M_DEVBUF);
ccb 978 dev/pci/ips.c ips_ccb_free(struct ips_softc *sc, struct ips_ccb *ccb, int n)
ccb 983 dev/pci/ips.c bus_dmamap_destroy(sc->sc_dmat, ccb[i - 1].c_dmam);
ccb 984 dev/pci/ips.c free(ccb, M_DEVBUF);
ccb 990 dev/pci/ips.c struct ips_ccb *ccb;
ccb 992 dev/pci/ips.c if ((ccb = TAILQ_FIRST(&sc->sc_ccbq_free)) != NULL)
ccb 993 dev/pci/ips.c TAILQ_REMOVE(&sc->sc_ccbq_free, ccb, c_link);
ccb 995 dev/pci/ips.c return (ccb);
ccb 999 dev/pci/ips.c ips_ccb_put(struct ips_softc *sc, struct ips_ccb *ccb)
ccb 1001 dev/pci/ips.c ccb->c_flags = 0;
ccb 1002 dev/pci/ips.c ccb->c_xfer = NULL;
ccb 1003 dev/pci/ips.c TAILQ_INSERT_TAIL(&sc->sc_ccbq_free, ccb, c_link);
ccb 163 dev/sdmmc/sdmmc_scsi.c struct sdmmc_ccb *ccb;
ccb 172 dev/sdmmc/sdmmc_scsi.c for (ccb = TAILQ_FIRST(&scbus->sc_ccb_runq); ccb != NULL;
ccb 173 dev/sdmmc/sdmmc_scsi.c ccb = TAILQ_FIRST(&scbus->sc_ccb_runq))
ccb 174 dev/sdmmc/sdmmc_scsi.c sdmmc_stimeout(ccb);
ccb 195 dev/sdmmc/sdmmc_scsi.c struct sdmmc_ccb *ccb;
ccb 207 dev/sdmmc/sdmmc_scsi.c ccb = &scbus->sc_ccbs[i];
ccb 208 dev/sdmmc/sdmmc_scsi.c ccb->ccb_scbus = scbus;
ccb 209 dev/sdmmc/sdmmc_scsi.c ccb->ccb_state = SDMMC_CCB_FREE;
ccb 210 dev/sdmmc/sdmmc_scsi.c ccb->ccb_flags = 0;
ccb 211 dev/sdmmc/sdmmc_scsi.c ccb->ccb_xs = NULL;
ccb 212 dev/sdmmc/sdmmc_scsi.c ccb->ccb_done = NULL;
ccb 214 dev/sdmmc/sdmmc_scsi.c TAILQ_INSERT_TAIL(&scbus->sc_ccb_freeq, ccb, ccb_link);
ccb 231 dev/sdmmc/sdmmc_scsi.c struct sdmmc_ccb *ccb;
ccb 235 dev/sdmmc/sdmmc_scsi.c while ((ccb = TAILQ_FIRST(&scbus->sc_ccb_freeq)) == NULL &&
ccb 238 dev/sdmmc/sdmmc_scsi.c if (ccb != NULL) {
ccb 239 dev/sdmmc/sdmmc_scsi.c TAILQ_REMOVE(&scbus->sc_ccb_freeq, ccb, ccb_link);
ccb 240 dev/sdmmc/sdmmc_scsi.c ccb->ccb_state = SDMMC_CCB_READY;
ccb 243 dev/sdmmc/sdmmc_scsi.c return ccb;
ccb 247 dev/sdmmc/sdmmc_scsi.c sdmmc_put_ccb(struct sdmmc_ccb *ccb)
ccb 249 dev/sdmmc/sdmmc_scsi.c struct sdmmc_scsi_softc *scbus = ccb->ccb_scbus;
ccb 253 dev/sdmmc/sdmmc_scsi.c if (ccb->ccb_state == SDMMC_CCB_QUEUED)
ccb 254 dev/sdmmc/sdmmc_scsi.c TAILQ_REMOVE(&scbus->sc_ccb_runq, ccb, ccb_link);
ccb 255 dev/sdmmc/sdmmc_scsi.c ccb->ccb_state = SDMMC_CCB_FREE;
ccb 256 dev/sdmmc/sdmmc_scsi.c ccb->ccb_flags = 0;
ccb 257 dev/sdmmc/sdmmc_scsi.c ccb->ccb_xs = NULL;
ccb 258 dev/sdmmc/sdmmc_scsi.c ccb->ccb_done = NULL;
ccb 259 dev/sdmmc/sdmmc_scsi.c TAILQ_INSERT_TAIL(&scbus->sc_ccb_freeq, ccb, ccb_link);
ccb 260 dev/sdmmc/sdmmc_scsi.c if (TAILQ_NEXT(ccb, ccb_link) == NULL)
ccb 299 dev/sdmmc/sdmmc_scsi.c struct sdmmc_ccb *ccb;
ccb 384 dev/sdmmc/sdmmc_scsi.c ccb = sdmmc_get_ccb(sc->sc_scsibus, xs->flags);
ccb 385 dev/sdmmc/sdmmc_scsi.c if (ccb == NULL) {
ccb 394 dev/sdmmc/sdmmc_scsi.c ccb->ccb_xs = xs;
ccb 395 dev/sdmmc/sdmmc_scsi.c ccb->ccb_done = sdmmc_done_xs;
ccb 397 dev/sdmmc/sdmmc_scsi.c ccb->ccb_blockcnt = blockcnt;
ccb 398 dev/sdmmc/sdmmc_scsi.c ccb->ccb_blockno = blockno;
ccb 400 dev/sdmmc/sdmmc_scsi.c return sdmmc_start_xs(sc, ccb);
ccb 404 dev/sdmmc/sdmmc_scsi.c sdmmc_start_xs(struct sdmmc_softc *sc, struct sdmmc_ccb *ccb)
ccb 407 dev/sdmmc/sdmmc_scsi.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 410 dev/sdmmc/sdmmc_scsi.c timeout_set(&xs->stimeout, sdmmc_stimeout, ccb);
ccb 411 dev/sdmmc/sdmmc_scsi.c sdmmc_init_task(&ccb->ccb_task, sdmmc_complete_xs, ccb);
ccb 414 dev/sdmmc/sdmmc_scsi.c TAILQ_INSERT_TAIL(&scbus->sc_ccb_runq, ccb, ccb_link);
ccb 415 dev/sdmmc/sdmmc_scsi.c ccb->ccb_state = SDMMC_CCB_QUEUED;
ccb 419 dev/sdmmc/sdmmc_scsi.c sdmmc_complete_xs(ccb);
ccb 424 dev/sdmmc/sdmmc_scsi.c sdmmc_add_task(sc, &ccb->ccb_task);
ccb 431 dev/sdmmc/sdmmc_scsi.c struct sdmmc_ccb *ccb = arg;
ccb 432 dev/sdmmc/sdmmc_scsi.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 447 dev/sdmmc/sdmmc_scsi.c error = sdmmc_mem_read_block(tgt->card, ccb->ccb_blockno,
ccb 448 dev/sdmmc/sdmmc_scsi.c xs->data, ccb->ccb_blockcnt * DEV_BSIZE);
ccb 450 dev/sdmmc/sdmmc_scsi.c error = sdmmc_mem_write_block(tgt->card, ccb->ccb_blockno,
ccb 451 dev/sdmmc/sdmmc_scsi.c xs->data, ccb->ccb_blockcnt * DEV_BSIZE);
ccb 456 dev/sdmmc/sdmmc_scsi.c ccb->ccb_done(ccb);
ccb 461 dev/sdmmc/sdmmc_scsi.c sdmmc_done_xs(struct sdmmc_ccb *ccb)
ccb 463 dev/sdmmc/sdmmc_scsi.c struct scsi_xfer *xs = ccb->ccb_xs;
ccb 478 dev/sdmmc/sdmmc_scsi.c if (ISSET(ccb->ccb_flags, SDMMC_CCB_F_ERR))
ccb 481 dev/sdmmc/sdmmc_scsi.c sdmmc_put_ccb(ccb);
ccb 488 dev/sdmmc/sdmmc_scsi.c struct sdmmc_ccb *ccb = arg;
ccb 492 dev/sdmmc/sdmmc_scsi.c ccb->ccb_flags |= SDMMC_CCB_F_ERR;
ccb 493 dev/sdmmc/sdmmc_scsi.c if (sdmmc_task_pending(&ccb->ccb_task)) {
ccb 494 dev/sdmmc/sdmmc_scsi.c sdmmc_del_task(&ccb->ccb_task);
ccb 495 dev/sdmmc/sdmmc_scsi.c ccb->ccb_done(ccb);
ccb 239 dev/softraid.c struct sr_ccb *ccb;
ccb 256 dev/softraid.c ccb = &sd->sd_ccb[i];
ccb 257 dev/softraid.c ccb->ccb_dis = sd;
ccb 258 dev/softraid.c sr_put_ccb(ccb);
ccb 270 dev/softraid.c struct sr_ccb *ccb;
ccb 277 dev/softraid.c while ((ccb = TAILQ_FIRST(&sd->sd_ccb_freeq)) != NULL)
ccb 278 dev/softraid.c TAILQ_REMOVE(&sd->sd_ccb_freeq, ccb, ccb_link);
ccb 287 dev/softraid.c struct sr_ccb *ccb;
ccb 292 dev/softraid.c ccb = TAILQ_FIRST(&sd->sd_ccb_freeq);
ccb 293 dev/softraid.c if (ccb) {
ccb 294 dev/softraid.c TAILQ_REMOVE(&sd->sd_ccb_freeq, ccb, ccb_link);
ccb 295 dev/softraid.c ccb->ccb_state = SR_CCB_INPROGRESS;
ccb 301 dev/softraid.c ccb);
ccb 303 dev/softraid.c return (ccb);
ccb 307 dev/softraid.c sr_put_ccb(struct sr_ccb *ccb)
ccb 309 dev/softraid.c struct sr_discipline *sd = ccb->ccb_dis;
ccb 313 dev/softraid.c ccb);
ccb 317 dev/softraid.c ccb->ccb_wu = NULL;
ccb 318 dev/softraid.c ccb->ccb_state = SR_CCB_FREE;
ccb 319 dev/softraid.c ccb->ccb_target = -1;
ccb 321 dev/softraid.c TAILQ_INSERT_TAIL(&sd->sd_ccb_freeq, ccb, ccb_link);
ccb 384 dev/softraid.c struct sr_ccb *ccb;
ccb 403 dev/softraid.c while ((ccb = TAILQ_FIRST(&wu->swu_ccb)) != NULL) {
ccb 404 dev/softraid.c TAILQ_REMOVE(&wu->swu_ccb, ccb, ccb_link);
ccb 405 dev/softraid.c sr_put_ccb(ccb);
ccb 1529 dev/softraid.c struct sr_ccb *ccb;
ccb 1544 dev/softraid.c TAILQ_FOREACH(ccb, &wu->swu_ccb, ccb_link) {
ccb 1545 dev/softraid.c bdevsw_lookup(ccb->ccb_buf.b_dev)->d_strategy(&ccb->ccb_buf);
ccb 2575 dev/softraid.c struct sr_ccb *ccb;
ccb 2632 dev/softraid.c ccb = sr_get_ccb(sd);
ccb 2633 dev/softraid.c if (!ccb) {
ccb 2642 dev/softraid.c ccb->ccb_buf.b_flags = 0;
ccb 2643 dev/softraid.c ccb->ccb_buf.b_iodone = NULL;
ccb 2645 dev/softraid.c ccb->ccb_buf.b_flags = B_CALL;
ccb 2646 dev/softraid.c ccb->ccb_buf.b_iodone = sr_raid1_intr;
ccb 2649 dev/softraid.c ccb->ccb_buf.b_blkno = blk;
ccb 2650 dev/softraid.c ccb->ccb_buf.b_bcount = xs->datalen;
ccb 2651 dev/softraid.c ccb->ccb_buf.b_bufsize = xs->datalen;
ccb 2652 dev/softraid.c ccb->ccb_buf.b_resid = xs->datalen;
ccb 2653 dev/softraid.c ccb->ccb_buf.b_data = xs->data;
ccb 2654 dev/softraid.c ccb->ccb_buf.b_error = 0;
ccb 2655 dev/softraid.c ccb->ccb_buf.b_proc = curproc;
ccb 2656 dev/softraid.c ccb->ccb_wu = wu;
ccb 2668 dev/softraid.c ccb->ccb_buf.b_flags |= B_READ;
ccb 2682 dev/softraid.c sr_put_ccb(ccb);
ccb 2693 dev/softraid.c ccb->ccb_buf.b_flags |= B_WRITE;
ccb 2699 dev/softraid.c sr_put_ccb(ccb);
ccb 2707 dev/softraid.c ccb->ccb_target = x;
ccb 2708 dev/softraid.c ccb->ccb_buf.b_dev = sd->sd_vol.sv_chunks[x]->src_dev_mm;
ccb 2709 dev/softraid.c ccb->ccb_buf.b_vp = NULL;
ccb 2711 dev/softraid.c LIST_INIT(&ccb->ccb_buf.b_dep);
ccb 2713 dev/softraid.c TAILQ_INSERT_TAIL(&wu->swu_ccb, ccb, ccb_link);
ccb 2718 dev/softraid.c ccb->ccb_buf.b_bcount, ccb->ccb_buf.b_blkno,
ccb 2719 dev/softraid.c ccb->ccb_buf.b_flags, ccb->ccb_buf.b_data);
ccb 2765 dev/softraid.c struct sr_ccb *ccb = (struct sr_ccb *)bp;
ccb 2766 dev/softraid.c struct sr_workunit *wu = ccb->ccb_wu, *wup;
ccb 2777 dev/softraid.c ccb->ccb_buf.b_bcount, ccb->ccb_buf.b_resid, ccb->ccb_buf.b_flags,
ccb 2778 dev/softraid.c ccb->ccb_buf.b_blkno, ccb->ccb_target);
ccb 2782 dev/softraid.c if (ccb->ccb_buf.b_flags & B_ERROR) {
ccb 2784 dev/softraid.c DEVNAME(sc), ccb->ccb_buf.b_blkno, ccb->ccb_target);
ccb 2786 dev/softraid.c ccb->ccb_state = SR_CCB_FAILED;
ccb 2787 dev/softraid.c if (ccb->ccb_target != -1)
ccb 2788 dev/softraid.c sd->sd_set_chunk_state(sd, ccb->ccb_target,
ccb 2793 dev/softraid.c ccb->ccb_state = SR_CCB_OK;
ccb 2807 dev/softraid.c DEVNAME(sc), ccb->ccb_buf.b_blkno);
ccb 2808 dev/softraid.c sr_put_ccb(ccb);
ccb 2818 dev/softraid.c ccb->ccb_buf.b_blkno);
ccb 2879 dev/softraid.c struct sr_ccb *ccb;
ccb 2885 dev/softraid.c while ((ccb = TAILQ_FIRST(&wup->swu_ccb)) != NULL) {
ccb 2886 dev/softraid.c TAILQ_REMOVE(&wup->swu_ccb, ccb, ccb_link);
ccb 2887 dev/softraid.c sr_put_ccb(ccb);
ccb 3041 dev/softraid.c struct sr_ccb *ccb;
ccb 3093 dev/softraid.c ccb = sr_get_ccb(sd);
ccb 3094 dev/softraid.c if (!ccb) {
ccb 3104 dev/softraid.c ccb->ccb_buf.b_flags = 0;
ccb 3105 dev/softraid.c ccb->ccb_buf.b_iodone = NULL;
ccb 3107 dev/softraid.c ccb->ccb_buf.b_flags = B_CALL;
ccb 3108 dev/softraid.c ccb->ccb_buf.b_iodone = sr_raidc_intr;
ccb 3111 dev/softraid.c ccb->ccb_buf.b_blkno = blk;
ccb 3112 dev/softraid.c ccb->ccb_buf.b_bcount = xs->datalen;
ccb 3113 dev/softraid.c ccb->ccb_buf.b_bufsize = xs->datalen;
ccb 3114 dev/softraid.c ccb->ccb_buf.b_resid = xs->datalen;
ccb 3115 dev/softraid.c ccb->ccb_buf.b_data = xs->data;
ccb 3116 dev/softraid.c ccb->ccb_buf.b_error = 0;
ccb 3117 dev/softraid.c ccb->ccb_buf.b_proc = curproc;
ccb 3118 dev/softraid.c ccb->ccb_wu = wu;
ccb 3127 dev/softraid.c ccb->ccb_buf.b_flags |= B_READ;
ccb 3141 dev/softraid.c sr_put_ccb(ccb);
ccb 3150 dev/softraid.c ccb->ccb_buf.b_flags |= B_WRITE;
ccb 3156 dev/softraid.c sr_put_ccb(ccb);
ccb 3164 dev/softraid.c ccb->ccb_target = 0;
ccb 3165 dev/softraid.c ccb->ccb_buf.b_dev = sd->sd_vol.sv_chunks[0]->src_dev_mm;
ccb 3166 dev/softraid.c ccb->ccb_buf.b_vp = NULL;
ccb 3168 dev/softraid.c LIST_INIT(&ccb->ccb_buf.b_dep);
ccb 3170 dev/softraid.c TAILQ_INSERT_TAIL(&wu->swu_ccb, ccb, ccb_link);
ccb 3175 dev/softraid.c ccb->ccb_buf.b_bcount, ccb->ccb_buf.b_blkno,
ccb 3176 dev/softraid.c ccb->ccb_buf.b_flags, ccb->ccb_buf.b_data);
ccb 3214 dev/softraid.c struct sr_ccb *ccb = (struct sr_ccb *)bp;
ccb 3215 dev/softraid.c struct sr_workunit *wu = ccb->ccb_wu;
ccb 3225 dev/softraid.c " b_flags: 0x%0x\n", DEVNAME(sc), ccb->ccb_buf.b_bcount,
ccb 3226 dev/softraid.c ccb->ccb_buf.b_resid, ccb->ccb_buf.b_flags);
ccb 3238 dev/softraid.c struct sr_ccb *ccb = (struct sr_ccb *)bp;
ccb 3239 dev/softraid.c struct sr_workunit *wu = ccb->ccb_wu, *wup;
ccb 3250 dev/softraid.c if (ccb->ccb_buf.b_flags & B_ERROR) {
ccb 3252 dev/softraid.c ccb->ccb_buf.b_blkno);
ccb 3254 dev/softraid.c ccb->ccb_state = SR_CCB_FAILED;
ccb 3255 dev/softraid.c if (ccb->ccb_target != -1)
ccb 3256 dev/softraid.c sd->sd_set_chunk_state(sd, ccb->ccb_target,
ccb 3261 dev/softraid.c ccb->ccb_state = SR_CCB_OK;