Lines Matching +full:sdio +full:- +full:attached
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 */
218 /* Placeholder for MMC / SD / SDIO I/O stuff */
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)
282 PROTO_MMCSD, /* MMC, SD, SDIO */
294 XPORT_SAS, /* Serial Attached SCSI */
299 XPORT_MMCSD, /* MMC, SD, SDIO card */
314 #define PROTO_VERSION_UNKNOWN (UINT_MAX - 1)
316 #define XPORT_VERSION_UNKNOWN (UINT_MAX - 1)
623 PIM_NO_6_BYTE = 0x08, /* Do not send 6-byte commands */
722 * Later, once we have the ability to probe SMP-only devices and put them
776 * non-tagged transaction) or one of the defined scsi tag messages
791 return ((ccb->ccb_h.flags & CAM_CDB_POINTER) ? in scsiio_cdb_ptr()
792 ccb->cdb_io.cdb_ptr : ccb->cdb_io.cdb_bytes); in scsiio_cdb_ptr()
839 return ((ccb->ccb_h.flags & CAM_CDB_POINTER) ? in atio_cdb_ptr()
840 ccb->cdb_io.cdb_ptr : ccb->cdb_io.cdb_bytes); in atio_cdb_ptr()
882 AC_PATH_DEREGISTERED = 0x040,/* A path has de-registered */
896 * Generic arguments passed bac which are then interpreted between a per-system
899 #define AC_CONTRACT_DATA_MAX (128 - sizeof (uint64_t))
1017 #define CTS_ATA_CAPS_H_DMA48 0x00000001 /* 48-bit DMA */
1033 u_int pm_present; /* PM is present (XPT->SIM) */
1040 #define CTS_SATA_CAPS_H_DMAAA 0x00000010 /* Auto-activation */
1053 uint32_t spec; /* NVMe spec implemented -- same as vs register */
1054 uint32_t max_xfer; /* Max transfer size (0 -> unlimited */
1104 #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can do 4-bit data transfers */
1105 #define MMC_CAP_8_BIT_DATA (1 << 1) /* Can do 8-bit data transfers */
1276 * (subset of response codes from SPL-4 and FCP-4 specifications),
1277 * upper 3 bytes is code-specific ADDITIONAL RESPONSE INFORMATION.
1334 #define XPT_CCB_INVALID -1 /* for signaling a bad CCB to free */
1348 /* NB: buftype is interpreted on a per-transport basis */
1375 * never be used for manipulating CCBs - its only use is for the allocation
1418 bzero((char *)(ccbp) + sizeof((ccbp)->ccb_h), \
1419 sizeof(*(ccbp)) - sizeof((ccbp)->ccb_h))
1430 csio->ccb_h.func_code = XPT_SCSI_IO; in cam_fill_csio()
1431 csio->ccb_h.flags = flags; in cam_fill_csio()
1432 csio->ccb_h.xflags = 0; in cam_fill_csio()
1433 csio->ccb_h.retry_count = retries; in cam_fill_csio()
1434 csio->ccb_h.cbfcnp = cbfcnp; in cam_fill_csio()
1435 csio->ccb_h.timeout = timeout; in cam_fill_csio()
1436 csio->data_ptr = data_ptr; in cam_fill_csio()
1437 csio->dxfer_len = dxfer_len; in cam_fill_csio()
1438 csio->sense_len = sense_len; in cam_fill_csio()
1439 csio->cdb_len = cdb_len; in cam_fill_csio()
1440 csio->tag_action = tag_action; in cam_fill_csio()
1441 csio->priority = 0; in cam_fill_csio()
1443 csio->bio = NULL; in cam_fill_csio()
1454 csio->ccb_h.func_code = XPT_CONT_TARGET_IO; in cam_fill_ctio()
1455 csio->ccb_h.flags = flags; in cam_fill_ctio()
1456 csio->ccb_h.xflags = 0; in cam_fill_ctio()
1457 csio->ccb_h.retry_count = retries; in cam_fill_ctio()
1458 csio->ccb_h.cbfcnp = cbfcnp; in cam_fill_ctio()
1459 csio->ccb_h.timeout = timeout; in cam_fill_ctio()
1460 csio->data_ptr = data_ptr; in cam_fill_ctio()
1461 csio->dxfer_len = dxfer_len; in cam_fill_ctio()
1462 csio->scsi_status = scsi_status; in cam_fill_ctio()
1463 csio->tag_action = tag_action; in cam_fill_ctio()
1464 csio->priority = 0; in cam_fill_ctio()
1465 csio->tag_id = tag_id; in cam_fill_ctio()
1466 csio->init_id = init_id; in cam_fill_ctio()
1476 ataio->ccb_h.func_code = XPT_ATA_IO; in cam_fill_ataio()
1477 ataio->ccb_h.flags = flags; in cam_fill_ataio()
1478 ataio->ccb_h.retry_count = retries; in cam_fill_ataio()
1479 ataio->ccb_h.cbfcnp = cbfcnp; in cam_fill_ataio()
1480 ataio->ccb_h.timeout = timeout; in cam_fill_ataio()
1481 ataio->data_ptr = data_ptr; in cam_fill_ataio()
1482 ataio->dxfer_len = dxfer_len; in cam_fill_ataio()
1483 ataio->ata_flags = 0; in cam_fill_ataio()
1499 ("need non-zero request and response lengths")); in cam_fill_smpio()
1501 smpio->ccb_h.func_code = XPT_SMP_IO; in cam_fill_smpio()
1502 smpio->ccb_h.flags = flags; in cam_fill_smpio()
1503 smpio->ccb_h.retry_count = retries; in cam_fill_smpio()
1504 smpio->ccb_h.cbfcnp = cbfcnp; in cam_fill_smpio()
1505 smpio->ccb_h.timeout = timeout; in cam_fill_smpio()
1506 smpio->smp_request = smp_request; in cam_fill_smpio()
1507 smpio->smp_request_len = smp_request_len; in cam_fill_smpio()
1508 smpio->smp_response = smp_response; in cam_fill_smpio()
1509 smpio->smp_response_len = smp_response_len; in cam_fill_smpio()
1519 mmcio->ccb_h.func_code = XPT_MMC_IO; in cam_fill_mmcio()
1520 mmcio->ccb_h.flags = flags; in cam_fill_mmcio()
1521 mmcio->ccb_h.retry_count = retries; in cam_fill_mmcio()
1522 mmcio->ccb_h.cbfcnp = cbfcnp; in cam_fill_mmcio()
1523 mmcio->ccb_h.timeout = timeout; in cam_fill_mmcio()
1524 mmcio->cmd.opcode = mmc_opcode; in cam_fill_mmcio()
1525 mmcio->cmd.arg = mmc_arg; in cam_fill_mmcio()
1526 mmcio->cmd.flags = mmc_flags; in cam_fill_mmcio()
1527 mmcio->cmd.error = 0; in cam_fill_mmcio()
1528 mmcio->stop.opcode = 0; in cam_fill_mmcio()
1529 mmcio->stop.arg = 0; in cam_fill_mmcio()
1530 mmcio->stop.flags = 0; in cam_fill_mmcio()
1532 mmcio->cmd.data = mmc_d; in cam_fill_mmcio()
1534 mmcio->cmd.data = NULL; in cam_fill_mmcio()
1535 mmcio->cmd.resp[0] = 0; in cam_fill_mmcio()
1536 mmcio->cmd.resp[1] = 0; in cam_fill_mmcio()
1537 mmcio->cmd.resp[2] = 0; in cam_fill_mmcio()
1538 mmcio->cmd.resp[3] = 0; in cam_fill_mmcio()
1544 ccb->ccb_h.status &= ~CAM_STATUS_MASK; in cam_set_ccbstatus()
1545 ccb->ccb_h.status |= status; in cam_set_ccbstatus()
1551 return ((cam_status)(ccb->ccb_h.status & CAM_STATUS_MASK)); in cam_ccb_status()
1568 nvmeio->ccb_h.func_code = XPT_NVME_IO; in cam_fill_nvmeio()
1569 nvmeio->ccb_h.flags = flags; in cam_fill_nvmeio()
1570 nvmeio->ccb_h.retry_count = retries; in cam_fill_nvmeio()
1571 nvmeio->ccb_h.cbfcnp = cbfcnp; in cam_fill_nvmeio()
1572 nvmeio->ccb_h.timeout = timeout; in cam_fill_nvmeio()
1573 nvmeio->data_ptr = data_ptr; in cam_fill_nvmeio()
1574 nvmeio->dxfer_len = dxfer_len; in cam_fill_nvmeio()
1583 nvmeio->ccb_h.func_code = XPT_NVME_ADMIN; in cam_fill_nvmeadmin()
1584 nvmeio->ccb_h.flags = flags; in cam_fill_nvmeadmin()
1585 nvmeio->ccb_h.retry_count = retries; in cam_fill_nvmeadmin()
1586 nvmeio->ccb_h.cbfcnp = cbfcnp; in cam_fill_nvmeadmin()
1587 nvmeio->ccb_h.timeout = timeout; in cam_fill_nvmeadmin()
1588 nvmeio->data_ptr = data_ptr; in cam_fill_nvmeadmin()
1589 nvmeio->dxfer_len = dxfer_len; in cam_fill_nvmeadmin()