Lines Matching refs:ccb_h
819 switch(ccb->ccb_h.func_code) { in cam_periph_mapmem()
848 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) in cam_periph_mapmem()
850 if ((ccb->ccb_h.flags & CAM_DATA_MASK) != CAM_DATA_VADDR) in cam_periph_mapmem()
854 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_mapmem()
858 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) in cam_periph_mapmem()
860 if ((ccb->ccb_h.flags & CAM_DATA_MASK) != CAM_DATA_VADDR) in cam_periph_mapmem()
864 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_mapmem()
868 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) in cam_periph_mapmem()
873 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_mapmem()
876 dirs[1] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_mapmem()
890 if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) in cam_periph_mapmem()
892 if ((ccb->ccb_h.flags & CAM_DATA_MASK) != CAM_DATA_VADDR) in cam_periph_mapmem()
896 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_mapmem()
943 ccb->ccb_h.func_code != XPT_MMC_IO) { in cam_periph_mapmem()
1019 switch (ccb->ccb_h.func_code) { in cam_periph_unmapmem()
1040 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_unmapmem()
1046 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_unmapmem()
1052 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_unmapmem()
1055 dirs[1] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_unmapmem()
1071 dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK; in cam_periph_unmapmem()
1128 xpt_setup_ccb(&ccb->ccb_h, in cam_periph_ioctl()
1129 ccb->ccb_h.path, in cam_periph_ioctl()
1131 ccb->ccb_h.func_code = XPT_GDEVLIST; in cam_periph_ioctl()
1186 xpt_path_assert(done_ccb->ccb_h.path, MA_OWNED); in cam_periph_done()
1187 done_ccb->ccb_h.cbfcnp = cam_periph_done_panic; in cam_periph_done()
1188 wakeup(&done_ccb->ccb_h.cbfcnp); in cam_periph_done()
1195 if ((ccb->ccb_h.func_code & XPT_FC_QUEUED) != 0) { in cam_periph_ccbwait()
1196 while (ccb->ccb_h.cbfcnp != cam_periph_done_panic) in cam_periph_ccbwait()
1197 xpt_path_sleep(ccb->ccb_h.path, &ccb->ccb_h.cbfcnp, in cam_periph_ccbwait()
1200 KASSERT(ccb->ccb_h.pinfo.index == CAM_UNQUEUED_INDEX && in cam_periph_ccbwait()
1201 (ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG, in cam_periph_ccbwait()
1203 "status=%#x, index=%d", __func__, ccb, ccb->ccb_h.func_code, in cam_periph_ccbwait()
1204 ccb->ccb_h.status, ccb->ccb_h.pinfo.index)); in cam_periph_ccbwait()
1226 xpt_path_assert(ccb->ccb_h.path, MA_OWNED); in cam_periph_runccb()
1227 KASSERT((ccb->ccb_h.flags & CAM_UNLOCKED) == 0, in cam_periph_runccb()
1229 ccb->ccb_h.func_code, ccb->ccb_h.flags)); in cam_periph_runccb()
1236 (ccb->ccb_h.func_code == XPT_SCSI_IO || in cam_periph_runccb()
1237 ccb->ccb_h.func_code == XPT_ATA_IO || in cam_periph_runccb()
1238 ccb->ccb_h.func_code == XPT_NVME_IO)) { in cam_periph_runccb()
1260 ccb->ccb_h.cbfcnp = cam_periph_done; in cam_periph_runccb()
1269 if (cam_sim_pollable(ccb->ccb_h.path->bus->sim)) in cam_periph_runccb()
1276 ccb->ccb_h.status = CAM_RESRC_UNAVAIL; in cam_periph_runccb()
1283 timeout = ccb->ccb_h.timeout * 10; in cam_periph_runccb()
1287 if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) in cam_periph_runccb()
1295 ccb->ccb_h.cbfcnp = cam_periph_done; in cam_periph_runccb()
1302 if ((ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { in cam_periph_runccb()
1303 cam_release_devq(ccb->ccb_h.path, in cam_periph_runccb()
1308 ccb->ccb_h.status &= ~CAM_DEV_QFRZN; in cam_periph_runccb()
1316 if (ccb->ccb_h.func_code == XPT_SCSI_IO) { in cam_periph_runccb()
1319 } else if (ccb->ccb_h.func_code == XPT_ATA_IO) { in cam_periph_runccb()
1322 } else if (ccb->ccb_h.func_code == XPT_NVME_IO) { in cam_periph_runccb()
1330 ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) ? in cam_periph_runccb()
1331 DEVSTAT_NO_DATA : (ccb->ccb_h.flags & CAM_DIR_OUT) ? in cam_periph_runccb()
1341 struct ccb_hdr ccb_h; in cam_freeze_devq() local
1344 memset(&ccb_h, 0, sizeof(ccb_h)); in cam_freeze_devq()
1345 xpt_setup_ccb(&ccb_h, path, /*priority*/1); in cam_freeze_devq()
1346 ccb_h.func_code = XPT_NOOP; in cam_freeze_devq()
1347 ccb_h.flags = CAM_DEV_QFREEZE; in cam_freeze_devq()
1348 xpt_action((union ccb *)&ccb_h); in cam_freeze_devq()
1361 xpt_setup_ccb(&crs.ccb_h, path, CAM_PRIORITY_NORMAL); in cam_release_devq()
1362 crs.ccb_h.func_code = XPT_REL_SIMQ; in cam_release_devq()
1363 crs.ccb_h.flags = getcount_only ? CAM_DEV_QFREEZE : 0; in cam_release_devq()
1383 status = done_ccb->ccb_h.status; in camperiphdone()
1402 cam_release_devq(done_ccb->ccb_h.path, in camperiphdone()
1404 done_ccb->ccb_h.status &= in camperiphdone()
1415 if (done_ccb->ccb_h.status & CAM_DEV_QFRZN) { in camperiphdone()
1416 cam_release_devq(done_ccb->ccb_h.path, 0, 0, 0, 0); in camperiphdone()
1417 done_ccb->ccb_h.status &= ~CAM_DEV_QFRZN; in camperiphdone()
1428 xpt_async(AC_INQ_CHANGED, done_ccb->ccb_h.path, NULL); in camperiphdone()
1435 if (error != 0 && done_ccb->ccb_h.retry_count == 0) in camperiphdone()
1448 saved_ccb = (union ccb *)done_ccb->ccb_h.saved_ccb_ptr; in camperiphdone()
1449 KASSERT(saved_ccb->ccb_h.func_code == XPT_SCSI_IO, in camperiphdone()
1451 __func__, saved_ccb->ccb_h.func_code)); in camperiphdone()
1452 KASSERT(done_ccb->ccb_h.func_code == XPT_SCSI_IO, in camperiphdone()
1454 __func__, done_ccb->ccb_h.func_code)); in camperiphdone()
1455 saved_ccb->ccb_h.periph_links = done_ccb->ccb_h.periph_links; in camperiphdone()
1456 done_flags = done_ccb->ccb_h.alloc_flags; in camperiphdone()
1458 done_ccb->ccb_h.alloc_flags = done_flags; in camperiphdone()
1460 if (done_ccb->ccb_h.cbfcnp != camperiphdone) in camperiphdone()
1463 done_ccb->ccb_h.retry_count = 0; in camperiphdone()
1468 cam_release_devq(done_ccb->ccb_h.path, 0, 0, 0, 0); in camperiphdone()
1495 xpt_setup_ccb(&cgds.ccb_h, periph->path, CAM_PRIORITY_NORMAL); in cam_periph_bus_settle()
1496 cgds.ccb_h.func_code = XPT_GDEV_STATS; in cam_periph_bus_settle()
1567 xpt_setup_ccb(&cgds.ccb_h, in camperiphscsistatuserror()
1568 ccb->ccb_h.path, in camperiphscsistatuserror()
1570 cgds.ccb_h.func_code = XPT_GDEV_STATS; in camperiphscsistatuserror()
1620 periph = xpt_path_periph(ccb->ccb_h.path); in camperiphscsistatuserror()
1625 ccb->ccb_h.retry_count > 0) { in camperiphscsistatuserror()
1627 ccb->ccb_h.retry_count--; in camperiphscsistatuserror()
1657 if (ccb->ccb_h.func_code == XPT_SCSI_IO && ccb->csio.bio != NULL) in camperiphscsisenseerror()
1661 periph = xpt_path_periph(ccb->ccb_h.path); in camperiphscsisenseerror()
1662 recoveryccb = (ccb->ccb_h.cbfcnp == camperiphdone); in camperiphscsisenseerror()
1686 xpt_gdev_type(&cgd, ccb->ccb_h.path); in camperiphscsisenseerror()
1722 if (ccb->ccb_h.retry_count > 0 && in camperiphscsisenseerror()
1724 ccb->ccb_h.retry_count--; in camperiphscsisenseerror()
1745 ccb->ccb_h.status &= ~CAM_DEV_QFRZN; in camperiphscsisenseerror()
1747 KASSERT(ccb->ccb_h.func_code == XPT_SCSI_IO, in camperiphscsisenseerror()
1749 __func__, ccb->ccb_h.func_code)); in camperiphscsisenseerror()
1750 flags = orig_ccb->ccb_h.alloc_flags; in camperiphscsisenseerror()
1752 orig_ccb->ccb_h.alloc_flags = flags; in camperiphscsisenseerror()
1848 ccb->ccb_h.pinfo.priority--; in camperiphscsisenseerror()
1849 ccb->ccb_h.flags |= CAM_DEV_QFREEZE; in camperiphscsisenseerror()
1850 ccb->ccb_h.saved_ccb_ptr = orig_ccb; in camperiphscsisenseerror()
1880 periph = xpt_path_periph(ccb->ccb_h.path); in cam_periph_error()
1882 status = ccb->ccb_h.status; in cam_periph_error()
1889 switch (ccb->ccb_h.status & CAM_STATUS_MASK) { in cam_periph_error()
1928 if (ccb->ccb_h.retry_count > 0 && in cam_periph_error()
1930 ccb->ccb_h.retry_count--; in cam_periph_error()
2004 } else if (ccb->ccb_h.retry_count == 0) { in cam_periph_error()
2011 ccb->ccb_h.retry_count--; in cam_periph_error()
2018 CAM_DEBUGGED(ccb->ccb_h.path, CAM_DEBUG_INFO)) in cam_periph_error()
2028 xpt_print(ccb->ccb_h.path, "Error %d, %s\n", in cam_periph_error()
2031 xpt_print(ccb->ccb_h.path, "%s\n", action_string); in cam_periph_error()
2033 xpt_print(ccb->ccb_h.path, in cam_periph_error()
2035 ccb->ccb_h.retry_count); in cam_periph_error()
2054 lun_id = xpt_path_lun_id(ccb->ccb_h.path); in cam_periph_error()
2058 xpt_path_path_id(ccb->ccb_h.path), in cam_periph_error()
2059 xpt_path_target_id(ccb->ccb_h.path), in cam_periph_error()
2072 xpt_async(AC_UNIT_ATTENTION, orig_ccb->ccb_h.path, orig_ccb); in cam_periph_error()
2077 xpt_path_path_id(ccb->ccb_h.path), in cam_periph_error()
2078 xpt_path_target_id(ccb->ccb_h.path), in cam_periph_error()
2082 scan_ccb->ccb_h.path = newpath; in cam_periph_error()
2083 scan_ccb->ccb_h.func_code = XPT_SCAN_TGT; in cam_periph_error()
2097 ccb->ccb_h.status &= ~CAM_DEV_QFRZN; in cam_periph_error()
2101 cam_release_devq(ccb->ccb_h.path, in cam_periph_error()
2128 periph = xpt_path_periph(ccb->ccb_h.path); in cam_periph_devctl_notify()
2134 xpt_gdev_type(cgd, ccb->ccb_h.path); in cam_periph_devctl_notify()
2135 if (cgd->ccb_h.status == CAM_REQ_CMP) in cam_periph_devctl_notify()
2140 sbuf_printf(&sb, "cam_status=\"0x%x\" ", ccb->ccb_h.status); in cam_periph_devctl_notify()
2142 switch (ccb->ccb_h.status & CAM_STATUS_MASK) { in cam_periph_devctl_notify()
2144 sbuf_printf(&sb, "timeout=%d ", ccb->ccb_h.timeout); in cam_periph_devctl_notify()
2176 switch (ccb->ccb_h.func_code) { in cam_periph_devctl_notify()