Lines Matching defs:ccb_h

1236 		if (xpt_create_path(&ccb->ccb_h.path, NULL,
1272 if (xpt_create_path(&ccb->ccb_h.path, NULL, cam_sim_path(ch->sim),
1306 if ((ccb->ccb_h.func_code & XPT_FC_QUEUED) == 0 ||
1312 STAILQ_INSERT_TAIL(&ch->doneq, &ccb->ccb_h, sim_links.stqe);
1333 struct ccb_hdr *ccb_h;
1350 while ((ccb_h = STAILQ_FIRST(&tmp_doneq)) != NULL) {
1352 xpt_done_direct((union ccb *)ccb_h);
1477 fccb->ccb_h.status = CAM_REQUEUE_REQ | CAM_RELEASE_SIMQ;
1478 if (!(fccb->ccb_h.status & CAM_DEV_QFRZN)) {
1479 xpt_freeze_devq(fccb->ccb_h.path, 1);
1480 fccb->ccb_h.status |= CAM_DEV_QFRZN;
1489 ch->slot[i].ccb->ccb_h.target_id != port)
1495 ch->slot[i].ccb->ccb_h.target_id] == 0) {
1534 int t = ccb->ccb_h.target_id;
1536 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1553 ch->taggedtarget != ccb->ccb_h.target_id)
1568 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1589 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1591 tags = ch->curr[ccb->ccb_h.target_id].tags;
1610 ch->numrslotspd[ccb->ccb_h.target_id]++;
1611 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1614 ch->numtslotspd[ccb->ccb_h.target_id]++;
1615 ch->taggedtarget = ccb->ccb_h.target_id;
1617 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1620 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) {
1656 ((slot->ccb->ccb_h.flags & CAM_DIR_IN) ?
1669 int port = ccb->ccb_h.target_id & 0x0f;
1687 (ccb->ccb_h.flags & CAM_DIR_OUT ? AHCI_CMD_WRITE : 0) |
1688 (ccb->ccb_h.func_code == XPT_SCSI_IO ?
1694 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1719 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
1733 if (ccb->ccb_h.func_code == XPT_ATA_IO &&
1735 int count, timeout = ccb->ccb_h.timeout * 100;
1753 if (ccb->ccb_h.target_id == 15 &&
1812 callout_reset_sbt(&slot->timeout, SBT_1MS * ccb->ccb_h.timeout / 2,
1849 SBT_1MS * slot->ccb->ccb_h.timeout / 2, 0,
1884 SBT_1MS * slot->ccb->ccb_h.timeout / 2, 0,
1890 slot->slot, slot->ccb->ccb_h.target_id & 0x0f);
1902 fccb->ccb_h.status = CAM_REQUEUE_REQ | CAM_RELEASE_SIMQ;
1903 if (!(fccb->ccb_h.status & CAM_DEV_QFRZN)) {
1904 xpt_freeze_devq(fccb->ccb_h.path, 1);
1905 fccb->ccb_h.status |= CAM_DEV_QFRZN;
1952 if (ccb->ccb_h.func_code == XPT_ATA_IO) {
1962 fis += ccb->ccb_h.target_id * 256;
1997 (ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE &&
2003 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE &&
2009 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) {
2011 (ccb->ccb_h.flags & CAM_DIR_IN) ?
2019 !(ccb->ccb_h.status & CAM_DEV_QFRZN)) {
2020 xpt_freeze_devq(ccb->ccb_h.path, 1);
2021 ccb->ccb_h.status |= CAM_DEV_QFRZN;
2024 ccb->ccb_h.status &= ~CAM_STATUS_MASK;
2027 ccb->ccb_h.status |= CAM_REQ_CMP;
2028 if (ccb->ccb_h.func_code == XPT_SCSI_IO)
2033 ccb->ccb_h.status |= CAM_REQ_INVALID;
2036 ccb->ccb_h.status |= CAM_REQUEUE_REQ;
2040 if (ccb->ccb_h.func_code == XPT_SCSI_IO) {
2041 ccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR;
2044 ccb->ccb_h.status |= CAM_ATA_STATUS_ERROR;
2051 ccb->ccb_h.status &= ~CAM_STATUS_MASK;
2052 ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
2054 ccb->ccb_h.status |= CAM_UNCOR_PARITY;
2059 ccb->ccb_h.status &= ~CAM_STATUS_MASK;
2060 ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
2062 ccb->ccb_h.status |= CAM_CMD_TIMEOUT;
2066 ccb->ccb_h.status |= CAM_REQ_CMP_ERR;
2076 ch->numrslotspd[ccb->ccb_h.target_id]--;
2077 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
2080 ch->numtslotspd[ccb->ccb_h.target_id]--;
2091 if ((ccb->ccb_h.func_code == XPT_ATA_IO) &&
2100 if (ccb->ccb_h.recovery_type == RECOVERY_READ_LOG) {
2103 } else if (ccb->ccb_h.recovery_type == RECOVERY_REQUEST_SENSE) {
2107 ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_SCSI_STATUS_ERROR &&
2108 (ccb->ccb_h.flags & CAM_DIS_AUTOSENSE) == 0)) {
2169 ch->hold[i]->ccb_h.status &= ~CAM_STATUS_MASK;
2170 ch->hold[i]->ccb_h.status |= CAM_RESRC_UNAVAIL;
2178 xpt_setup_ccb(&ccb->ccb_h, ch->hold[i]->ccb_h.path,
2179 ch->hold[i]->ccb_h.pinfo.priority);
2180 if (ch->hold[i]->ccb_h.func_code == XPT_ATA_IO) {
2182 ccb->ccb_h.recovery_type = RECOVERY_READ_LOG;
2183 ccb->ccb_h.func_code = XPT_ATA_IO;
2184 ccb->ccb_h.flags = CAM_DIR_IN;
2185 ccb->ccb_h.timeout = 1000; /* 1s should be enough. */
2205 ccb->ccb_h.recovery_type = RECOVERY_REQUEST_SENSE;
2206 ccb->ccb_h.recovery_slot = i;
2207 ccb->ccb_h.func_code = XPT_SCSI_IO;
2208 ccb->ccb_h.flags = CAM_DIR_IN;
2209 ccb->ccb_h.status = 0;
2210 ccb->ccb_h.timeout = 1000; /* 1s should be enough. */
2235 if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP &&
2240 if (ch->hold[i]->ccb_h.func_code != XPT_ATA_IO)
2256 ch->hold[i]->ccb_h.status &= ~CAM_STATUS_MASK;
2257 ch->hold[i]->ccb_h.status |= CAM_REQUEUE_REQ;
2264 if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)
2272 if (ch->hold[i]->ccb_h.func_code != XPT_ATA_IO)
2291 i = ccb->ccb_h.recovery_slot;
2292 if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) {
2293 ch->hold[i]->ccb_h.status |= CAM_AUTOSNS_VALID;
2295 ch->hold[i]->ccb_h.status &= ~CAM_STATUS_MASK;
2296 ch->hold[i]->ccb_h.status |= CAM_AUTOSENSE_FAIL;
2473 fccb->ccb_h.status = CAM_REQUEUE_REQ | CAM_RELEASE_SIMQ;
2474 if (!(fccb->ccb_h.status & CAM_DEV_QFRZN)) {
2475 xpt_freeze_devq(fccb->ccb_h.path, 1);
2476 fccb->ccb_h.status |= CAM_DEV_QFRZN;
2552 fis[1] = (ccb->ccb_h.target_id & 0x0f);
2553 if (ccb->ccb_h.func_code == XPT_SCSI_IO) {
2556 if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE &&
2557 ch->curr[ccb->ccb_h.target_id].mode >= ATA_DMA)
2565 bcopy((ccb->ccb_h.flags & CAM_CDB_POINTER) ?
2696 if (ccb->ccb_h.target_id > ((ch->caps & AHCI_CAP_SPM) ? 15 : 0)) {
2697 ccb->ccb_h.status = CAM_TID_INVALID;
2701 if (ccb->ccb_h.target_lun != 0) {
2702 ccb->ccb_h.status = CAM_LUN_INVALID;
2714 CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("ahciaction func_code=%x\n",
2715 ccb->ccb_h.func_code));
2718 switch (ccb->ccb_h.func_code) {
2726 ccb->ccb_h.target_id > 0 && ccb->ccb_h.target_id < 15)) {
2727 ccb->ccb_h.status = CAM_SEL_TIMEOUT;
2730 ccb->ccb_h.recovery_type = RECOVERY_NONE;
2743 ccb->ccb_h.status = CAM_REQ_INVALID;
2753 d = &ch->curr[ccb->ccb_h.target_id];
2755 d = &ch->user[ccb->ccb_h.target_id];
2770 ccb->ccb_h.status = CAM_REQ_CMP;
2783 d = &ch->curr[ccb->ccb_h.target_id];
2785 d = &ch->user[ccb->ccb_h.target_id];
2793 (ccb->ccb_h.target_id == 15 ||
2794 (ccb->ccb_h.target_id == 0 && !ch->pm_present))) {
2814 ch->user[ccb->ccb_h.target_id].caps;
2832 ccb->ccb_h.status = CAM_REQ_CMP;
2838 ccb->ccb_h.status = CAM_REQ_CMP;
2842 ccb->ccb_h.status = CAM_REQ_INVALID;
2883 cpi->ccb_h.status = CAM_REQ_CMP;
2887 ccb->ccb_h.status = CAM_REQ_INVALID;