Lines 206-212
typedef enum {
Link Here
|
206 |
/* Serial Management Protocol */ |
206 |
/* Serial Management Protocol */ |
207 |
|
207 |
|
208 |
XPT_NVME_IO = 0x1c | XPT_FC_DEV_QUEUED, |
208 |
XPT_NVME_IO = 0x1c | XPT_FC_DEV_QUEUED, |
209 |
/* Execiute the requestred NVMe I/O operation */ |
209 |
/* Execute the requested NVMe I/O operation */ |
210 |
|
210 |
|
211 |
XPT_MMCSD_IO = 0x1d | XPT_FC_DEV_QUEUED, |
211 |
XPT_MMCSD_IO = 0x1d | XPT_FC_DEV_QUEUED, |
212 |
/* Placeholder for MMC / SD / SDIO I/O stuff */ |
212 |
/* Placeholder for MMC / SD / SDIO I/O stuff */ |
Lines 215-220
typedef enum {
Link Here
|
215 |
| XPT_FC_XPT_ONLY, |
215 |
| XPT_FC_XPT_ONLY, |
216 |
/* Scan Target */ |
216 |
/* Scan Target */ |
217 |
|
217 |
|
|
|
218 |
XPT_NVME_ADMIN = 0x1f | XPT_FC_DEV_QUEUED, |
219 |
/* Execute the requested NVMe Admin operation */ |
220 |
|
218 |
/* HBA engine commands 0x20->0x2F */ |
221 |
/* HBA engine commands 0x20->0x2F */ |
219 |
XPT_ENG_INQ = 0x20 | XPT_FC_XPT_ONLY, |
222 |
XPT_ENG_INQ = 0x20 | XPT_FC_XPT_ONLY, |
220 |
/* HBA engine feature inquiry */ |
223 |
/* HBA engine feature inquiry */ |
Lines 805-811
struct ccb_relsim {
Link Here
|
805 |
}; |
808 |
}; |
806 |
|
809 |
|
807 |
/* |
810 |
/* |
808 |
* NVMe I/O Request CCB used for the XPT_NVME_IO function code. |
811 |
* NVMe I/O Request CCB used for the XPT_NVME_IO and XPT_NVME_ADMIN function codes. |
809 |
*/ |
812 |
*/ |
810 |
struct ccb_nvmeio { |
813 |
struct ccb_nvmeio { |
811 |
struct ccb_hdr ccb_h; |
814 |
struct ccb_hdr ccb_h; |
Lines 1443-1448
cam_fill_nvmeio(struct ccb_nvmeio *nvmeio, u_int32_t retries,
Link Here
|
1443 |
nvmeio->data_ptr = data_ptr; |
1446 |
nvmeio->data_ptr = data_ptr; |
1444 |
nvmeio->dxfer_len = dxfer_len; |
1447 |
nvmeio->dxfer_len = dxfer_len; |
1445 |
} |
1448 |
} |
|
|
1449 |
|
1450 |
static __inline void |
1451 |
cam_fill_nvmeadmin(struct ccb_nvmeio *nvmeio, u_int32_t retries, |
1452 |
void (*cbfcnp)(struct cam_periph *, union ccb *), |
1453 |
u_int32_t flags, u_int8_t *data_ptr, u_int32_t dxfer_len, |
1454 |
u_int32_t timeout) |
1455 |
{ |
1456 |
nvmeio->ccb_h.func_code = XPT_NVME_ADMIN; |
1457 |
nvmeio->ccb_h.flags = flags; |
1458 |
nvmeio->ccb_h.retry_count = retries; |
1459 |
nvmeio->ccb_h.cbfcnp = cbfcnp; |
1460 |
nvmeio->ccb_h.timeout = timeout; |
1461 |
nvmeio->data_ptr = data_ptr; |
1462 |
nvmeio->dxfer_len = dxfer_len; |
1463 |
} |
1446 |
__END_DECLS |
1464 |
__END_DECLS |
1447 |
|
1465 |
|
1448 |
#endif /* _CAM_CAM_CCB_H */ |
1466 |
#endif /* _CAM_CAM_CCB_H */ |