Lines Matching +full:strobe +full:- +full:pos
1 /*-
4 * SPDX-License-Identifier: BSD-2-Clause
129 /* Non-immediate function code */
135 /* Common function commands: 0x00->0x0F */
168 /* SCSI Control Functions: 0x10->0x1F */
227 /* HBA engine commands 0x20->0x2F */
233 /* Target mode commands: 0x30->0x3F */
256 /* Vendor Unique codes: 0x80->0x8F */
269 (((ccb)->ccb_h.func_code & XPT_FC_DEV_QUEUED) == XPT_FC_DEV_QUEUED)
271 (((ccb)->ccb_h.func_code & XPT_FC_QUEUED) != 0)
313 #define PROTO_VERSION_UNKNOWN (UINT_MAX - 1)
315 #define XPORT_VERSION_UNKNOWN (UINT_MAX - 1)
587 struct ccb_dev_position pos;
622 PIM_NO_6_BYTE = 0x08, /* Do not send 6-byte commands */
721 * Later, once we have the ability to probe SMP-only devices and put them
775 * non-tagged transaction) or one of the defined scsi tag messages
790 return ((ccb->ccb_h.flags & CAM_CDB_POINTER) ?
791 ccb->cdb_io.cdb_ptr : ccb->cdb_io.cdb_bytes);
838 return ((ccb->ccb_h.flags & CAM_CDB_POINTER) ?
839 ccb->cdb_io.cdb_ptr : ccb->cdb_io.cdb_bytes);
881 AC_PATH_DEREGISTERED = 0x040,/* A path has de-registered */
895 * Generic arguments passed bac which are then interpreted between a per-system
898 #define AC_CONTRACT_DATA_MAX (128 - sizeof (uint64_t))
1016 #define CTS_ATA_CAPS_H_DMA48 0x00000001 /* 48-bit DMA */
1032 u_int pm_present; /* PM is present (XPT->SIM) */
1039 #define CTS_SATA_CAPS_H_DMAAA 0x00000010 /* Auto-activation */
1052 uint32_t spec; /* NVMe spec implemented -- same as vs register */
1053 uint32_t max_xfer; /* Max transfer size (0 -> unlimited */
1085 #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can do 4-bit data transfers */
1086 #define MMC_CAP_8_BIT_DATA (1 << 1) /* Can do 8-bit data transfers */
1105 #define MMC_CAP_MMC_ENH_STROBE (1 << 17) /* Can do eMMC Enhanced Strobe */
1256 * (subset of response codes from SPL-4 and FCP-4 specifications),
1257 * upper 3 bytes is code-specific ADDITIONAL RESPONSE INFORMATION.
1314 #define XPT_CCB_INVALID -1 /* for signaling a bad CCB to free */
1328 /* NB: buftype is interpreted on a per-transport basis */
1355 * never be used for manipulating CCBs - its only use is for the allocation
1398 bzero((char *)(ccbp) + sizeof((ccbp)->ccb_h), \
1399 sizeof(*(ccbp)) - sizeof((ccbp)->ccb_h))
1410 csio->ccb_h.func_code = XPT_SCSI_IO;
1411 csio->ccb_h.flags = flags;
1412 csio->ccb_h.xflags = 0;
1413 csio->ccb_h.retry_count = retries;
1414 csio->ccb_h.cbfcnp = cbfcnp;
1415 csio->ccb_h.timeout = timeout;
1416 csio->data_ptr = data_ptr;
1417 csio->dxfer_len = dxfer_len;
1418 csio->sense_len = sense_len;
1419 csio->cdb_len = cdb_len;
1420 csio->tag_action = tag_action;
1421 csio->priority = 0;
1423 csio->bio = NULL;
1434 csio->ccb_h.func_code = XPT_CONT_TARGET_IO;
1435 csio->ccb_h.flags = flags;
1436 csio->ccb_h.xflags = 0;
1437 csio->ccb_h.retry_count = retries;
1438 csio->ccb_h.cbfcnp = cbfcnp;
1439 csio->ccb_h.timeout = timeout;
1440 csio->data_ptr = data_ptr;
1441 csio->dxfer_len = dxfer_len;
1442 csio->scsi_status = scsi_status;
1443 csio->tag_action = tag_action;
1444 csio->priority = 0;
1445 csio->tag_id = tag_id;
1446 csio->init_id = init_id;
1456 ataio->ccb_h.func_code = XPT_ATA_IO;
1457 ataio->ccb_h.flags = flags;
1458 ataio->ccb_h.retry_count = retries;
1459 ataio->ccb_h.cbfcnp = cbfcnp;
1460 ataio->ccb_h.timeout = timeout;
1461 ataio->data_ptr = data_ptr;
1462 ataio->dxfer_len = dxfer_len;
1463 ataio->ata_flags = 0;
1479 ("need non-zero request and response lengths"));
1481 smpio->ccb_h.func_code = XPT_SMP_IO;
1482 smpio->ccb_h.flags = flags;
1483 smpio->ccb_h.retry_count = retries;
1484 smpio->ccb_h.cbfcnp = cbfcnp;
1485 smpio->ccb_h.timeout = timeout;
1486 smpio->smp_request = smp_request;
1487 smpio->smp_request_len = smp_request_len;
1488 smpio->smp_response = smp_response;
1489 smpio->smp_response_len = smp_response_len;
1499 mmcio->ccb_h.func_code = XPT_MMC_IO;
1500 mmcio->ccb_h.flags = flags;
1501 mmcio->ccb_h.retry_count = retries;
1502 mmcio->ccb_h.cbfcnp = cbfcnp;
1503 mmcio->ccb_h.timeout = timeout;
1504 mmcio->cmd.opcode = mmc_opcode;
1505 mmcio->cmd.arg = mmc_arg;
1506 mmcio->cmd.flags = mmc_flags;
1507 mmcio->stop.opcode = 0;
1508 mmcio->stop.arg = 0;
1509 mmcio->stop.flags = 0;
1511 mmcio->cmd.data = mmc_d;
1513 mmcio->cmd.data = NULL;
1514 mmcio->cmd.resp[0] = 0;
1515 mmcio->cmd.resp[1] = 0;
1516 mmcio->cmd.resp[2] = 0;
1517 mmcio->cmd.resp[3] = 0;
1523 ccb->ccb_h.status &= ~CAM_STATUS_MASK;
1524 ccb->ccb_h.status |= status;
1530 return ((cam_status)(ccb->ccb_h.status & CAM_STATUS_MASK));
1547 nvmeio->ccb_h.func_code = XPT_NVME_IO;
1548 nvmeio->ccb_h.flags = flags;
1549 nvmeio->ccb_h.retry_count = retries;
1550 nvmeio->ccb_h.cbfcnp = cbfcnp;
1551 nvmeio->ccb_h.timeout = timeout;
1552 nvmeio->data_ptr = data_ptr;
1553 nvmeio->dxfer_len = dxfer_len;
1562 nvmeio->ccb_h.func_code = XPT_NVME_ADMIN;
1563 nvmeio->ccb_h.flags = flags;
1564 nvmeio->ccb_h.retry_count = retries;
1565 nvmeio->ccb_h.cbfcnp = cbfcnp;
1566 nvmeio->ccb_h.timeout = timeout;
1567 nvmeio->data_ptr = data_ptr;
1568 nvmeio->dxfer_len = dxfer_len;