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;