Lines Matching refs:ccb_h
276 xpt_setup_ccb(&cdbg.ccb_h, softc->path, CAM_PRIORITY_NORMAL); in targioctl()
277 cdbg.ccb_h.func_code = XPT_DEBUG; in targioctl()
278 cdbg.ccb_h.cbfcnp = targdone; in targioctl()
280 status = cdbg.ccb_h.status & CAM_STATUS_MASK; in targioctl()
363 xpt_setup_ccb(&en_ccb.ccb_h, path, CAM_PRIORITY_NORMAL); in targendislun()
364 en_ccb.ccb_h.func_code = XPT_EN_LUN; in targendislun()
370 status = en_ccb.ccb_h.status & CAM_STATUS_MASK; in targendislun()
392 status = cpi.ccb_h.status & CAM_STATUS_MASK; in targenable()
495 struct ccb_hdr *ccb_h; in targdtor() local
505 while ((ccb_h = TAILQ_FIRST(&softc->user_ccb_queue)) != NULL) { in targdtor()
506 TAILQ_REMOVE(&softc->user_ccb_queue, ccb_h, periph_links.tqe); in targdtor()
507 targfreeccb(softc, (union ccb *)ccb_h); in targdtor()
542 priority = fuword32(&user_ccb->ccb_h.pinfo.priority); in targwrite()
547 func_code = fuword32(&user_ccb->ccb_h.func_code); in targwrite()
554 descr = (struct targ_cmd_descr *)ccb->ccb_h.targ_descr; in targwrite()
561 &ccb->ccb_h, in targwrite()
584 ccb->ccb_h.targ_descr; in targwrite()
637 (void)suword(&descr->user_ccb->ccb_h.status, in targstart()
657 u_ccbh = &descr->user_ccb->ccb_h; in targusermerge()
658 k_ccbh = &ccb->ccb_h; in targusermerge()
679 struct ccb_hdr *ccb_h; in targusermerge() local
682 TAILQ_FOREACH(ccb_h, &softc->pending_ccb_queue, in targusermerge()
686 ab_descr = (struct targ_cmd_descr *)ccb_h->targ_descr; in targusermerge()
690 cab->abort_ccb, ccb_h)); in targusermerge()
691 cab->abort_ccb = (union ccb *)ccb_h; in targusermerge()
696 if (ccb_h == NULL) { in targusermerge()
711 struct ccb_hdr *ccb_h; in targsendccb() local
714 ccb_h = &ccb->ccb_h; in targsendccb()
724 ccb_h->cbfcnp = targdone; in targsendccb()
725 ccb_h->targ_descr = descr; in targsendccb()
727 if ((ccb_h->func_code == XPT_CONT_TARGET_IO) || in targsendccb()
728 (ccb_h->func_code == XPT_DEV_MATCH)) { in targsendccb()
736 ccb_h->status = CAM_REQ_CMP_ERR; in targsendccb()
748 TAILQ_INSERT_TAIL(&softc->pending_ccb_queue, ccb_h, in targsendccb()
764 TAILQ_REMOVE(&softc->pending_ccb_queue, &done_ccb->ccb_h, in targdone()
776 switch (done_ccb->ccb_h.func_code) { in targdone()
782 TAILQ_INSERT_TAIL(&softc->user_ccb_queue, &done_ccb->ccb_h, in targdone()
790 done_ccb->ccb_h.func_code); in targdone()
803 struct ccb_hdr *ccb_h; in targread() local
816 ccb_h = TAILQ_FIRST(user_queue); in targread()
818 while (ccb_h == NULL && user_descr == NULL) { in targread()
822 ccb_h = TAILQ_FIRST(user_queue); in targread()
838 while (ccb_h != NULL) { in targread()
843 TAILQ_REMOVE(user_queue, ccb_h, periph_links.tqe); in targread()
844 descr = (struct targ_cmd_descr *)ccb_h->targ_descr; in targread()
847 ("targread ccb %p (%p)\n", ccb_h, user_ccb)); in targread()
848 error = targreturnccb(softc, (union ccb *)ccb_h); in targread()
858 ccb_h = TAILQ_FIRST(user_queue); in targread()
870 if (suword(&user_ccb->ccb_h.status, CAM_REQ_ABORTED) != 0) { in targread()
907 descr = (struct targ_cmd_descr *)ccb->ccb_h.targ_descr; in targreturnccb()
908 u_ccbh = &descr->user_ccb->ccb_h; in targreturnccb()
911 error = copyout(&ccb->ccb_h.retry_count, &u_ccbh->retry_count, in targreturnccb()
920 ccb_len = targccblen(ccb->ccb_h.func_code) - sizeof(struct ccb_hdr); in targreturnccb()
929 error = copyout(&ccb->ccb_h + 1, u_ccbh + 1, ccb_len); in targreturnccb()
953 xpt_setup_ccb(&ccb->ccb_h, softc->path, priority); in targgetccb()
954 ccb->ccb_h.func_code = type; in targgetccb()
955 ccb->ccb_h.cbfcnp = targdone; in targgetccb()
956 ccb->ccb_h.targ_descr = targgetdescr(softc); in targgetccb()
957 if (ccb->ccb_h.targ_descr == NULL) { in targgetccb()
968 ccb->ccb_h.targ_descr)); in targfreeccb()
969 free(ccb->ccb_h.targ_descr, M_TARG); in targfreeccb()
971 switch (ccb->ccb_h.func_code) { in targfreeccb()
1029 struct ccb_hdr *ccb_h; in abort_all_pending() local
1046 xpt_setup_ccb(&cab.ccb_h, softc->path, CAM_PRIORITY_NORMAL); in abort_all_pending()
1047 cab.ccb_h.func_code = XPT_ABORT; in abort_all_pending()
1048 cab.ccb_h.status = CAM_REQ_CMP_ERR; in abort_all_pending()
1049 TAILQ_FOREACH(ccb_h, &softc->pending_ccb_queue, periph_links.tqe) { in abort_all_pending()
1051 ("Aborting pending CCB %p\n", ccb_h)); in abort_all_pending()
1052 cab.abort_ccb = (union ccb *)ccb_h; in abort_all_pending()
1054 if (cab.ccb_h.status != CAM_REQ_CMP) { in abort_all_pending()
1055 xpt_print(cab.ccb_h.path, in abort_all_pending()
1057 cab.ccb_h.status); in abort_all_pending()
1062 if (cab.ccb_h.status == CAM_REQ_CMP) { in abort_all_pending()