Lines Matching refs:ccb
57 static TW_VOID twa_action(struct cam_sim *sim, union ccb *ccb);
59 static TW_VOID twa_bus_scan_cb(struct cam_periph *periph, union ccb *ccb);
62 union ccb *ccb);
213 tw_osli_execute_scsi(struct tw_osli_req_context *req, union ccb *ccb) in tw_osli_execute_scsi() argument
218 struct ccb_hdr *ccb_h = &(ccb->ccb_h); in tw_osli_execute_scsi()
219 struct ccb_scsiio *csio = &(ccb->csio); in tw_osli_execute_scsi()
230 xpt_done(ccb); in tw_osli_execute_scsi()
238 xpt_done(ccb); in tw_osli_execute_scsi()
249 xpt_done(ccb); in tw_osli_execute_scsi()
296 xpt_done(ccb); in tw_osli_execute_scsi()
312 xpt_done(ccb); in tw_osli_execute_scsi()
324 xpt_done(ccb); in tw_osli_execute_scsi()
340 xpt_done(ccb); in tw_osli_execute_scsi()
357 twa_action(struct cam_sim *sim, union ccb *ccb) in twa_action() argument
360 struct ccb_hdr *ccb_h = &(ccb->ccb_h); in twa_action()
376 xpt_done(ccb); in twa_action()
383 xpt_done(ccb); in twa_action()
390 req->orig_req = ccb; in twa_action()
391 if (tw_osli_execute_scsi(req, ccb)) in twa_action()
399 xpt_done(ccb); in twa_action()
411 xpt_done(ccb); in twa_action()
422 xpt_done(ccb); in twa_action()
427 struct ccb_trans_settings *cts = &ccb->cts; in twa_action()
444 xpt_done(ccb); in twa_action()
450 cam_calc_geometry(&ccb->ccg, 1/* extended */); in twa_action()
451 xpt_done(ccb); in twa_action()
456 struct ccb_pathinq *path_inq = &ccb->cpi; in twa_action()
482 xpt_done(ccb); in twa_action()
489 xpt_done(ccb); in twa_action()
529 union ccb *ccb; in tw_osli_request_bus_scan() local
536 if ((ccb = xpt_alloc_ccb()) == NULL) in tw_osli_request_bus_scan()
539 if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, cam_sim_path(sc->sim), in tw_osli_request_bus_scan()
541 xpt_free_ccb(&ccb->ccb_h); in tw_osli_request_bus_scan()
546 xpt_setup_ccb(&ccb->ccb_h, ccb->ccb_h.path, 5/*priority (low)*/); in tw_osli_request_bus_scan()
547 ccb->ccb_h.func_code = XPT_SCAN_BUS; in tw_osli_request_bus_scan()
548 ccb->ccb_h.cbfcnp = twa_bus_scan_cb; in tw_osli_request_bus_scan()
549 ccb->crcn.flags = CAM_FLAG_NONE; in tw_osli_request_bus_scan()
550 xpt_action(ccb); in tw_osli_request_bus_scan()
568 twa_bus_scan_cb(struct cam_periph *periph, union ccb *ccb) in twa_bus_scan_cb() argument
572 if (ccb->ccb_h.status != CAM_REQ_CMP) in twa_bus_scan_cb()
574 ccb->ccb_h.status); in twa_bus_scan_cb()
578 xpt_free_path(ccb->ccb_h.path); in twa_bus_scan_cb()
579 kfree(ccb, M_TEMP); in twa_bus_scan_cb()
601 union ccb *ccb = (union ccb *)(req->orig_req); in tw_osli_disallow_new_requests() local
604 ccb->ccb_h.status |= CAM_RELEASE_SIMQ; in tw_osli_disallow_new_requests()
622 union ccb *ccb = (union ccb *)(req->orig_req); in tw_osl_timeout() local
623 struct ccb_hdr *ccb_h = &(ccb->ccb_h); in tw_osl_timeout()
689 union ccb *ccb = (union ccb *)(req->orig_req); in tw_osl_complete_io() local
720 ccb->ccb_h.status |= CAM_REQUEUE_REQ; in tw_osl_complete_io()
723 ccb->ccb_h.status = CAM_REQ_TOO_BIG; in tw_osl_complete_io()
725 ccb->ccb_h.status = CAM_REQ_CMP_ERR; in tw_osl_complete_io()
729 ccb->ccb_h.status = CAM_REQ_CMP; in tw_osl_complete_io()
732 ccb->ccb_h.status |= CAM_SEL_TIMEOUT; in tw_osl_complete_io()
734 ccb->ccb_h.status |= CAM_DEV_NOT_THERE; in tw_osl_complete_io()
736 ccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR; in tw_osl_complete_io()
738 ccb->ccb_h.status |= (CAM_REQUEUE_REQ | CAM_SCSI_BUS_RESET); in tw_osl_complete_io()
743 if (ccb->ccb_h.status == 0) in tw_osl_complete_io()
744 ccb->ccb_h.status = CAM_REQ_CMP_ERR; in tw_osl_complete_io()
747 ccb->csio.sense_len = scsi_req->sense_len; in tw_osl_complete_io()
748 ccb->ccb_h.status |= CAM_AUTOSNS_VALID; in tw_osl_complete_io()
752 ccb->csio.scsi_status = scsi_req->scsi_status; in tw_osl_complete_io()
755 ccb->ccb_h.status &= ~CAM_SIM_QUEUED; in tw_osl_complete_io()
757 xpt_done(ccb); in tw_osl_complete_io()