Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/nvme/nvme_qpair.c
Show First 20 Lines • Show All 431 Lines • ▼ Show 20 Lines | nvme_qpair_manual_complete_tracker(struct nvme_qpair *qpair, | ||||
struct nvme_tracker *tr, uint32_t sct, uint32_t sc, uint32_t dnr, | struct nvme_tracker *tr, uint32_t sct, uint32_t sc, uint32_t dnr, | ||||
boolean_t print_on_error) | boolean_t print_on_error) | ||||
{ | { | ||||
struct nvme_completion cpl; | struct nvme_completion cpl; | ||||
memset(&cpl, 0, sizeof(cpl)); | memset(&cpl, 0, sizeof(cpl)); | ||||
cpl.sqid = qpair->id; | cpl.sqid = qpair->id; | ||||
cpl.cid = tr->cid; | cpl.cid = tr->cid; | ||||
cpl.status |= (sct & NVME_STATUS_SCT_MASK) << NVME_STATUS_SCT_SHIFT; | cpl.status.sct = sct; | ||||
cpl.status |= (sc & NVME_STATUS_SC_MASK) << NVME_STATUS_SC_SHIFT; | cpl.status.sc = sc; | ||||
cpl.status |= (dnr & NVME_STATUS_DNR_MASK) << NVME_STATUS_DNR_SHIFT; | cpl.status.dnr = dnr; | ||||
mst_semihalf.com: See above | |||||
nvme_qpair_complete_tracker(qpair, tr, &cpl, print_on_error); | nvme_qpair_complete_tracker(qpair, tr, &cpl, print_on_error); | ||||
} | } | ||||
void | void | ||||
nvme_qpair_manual_complete_request(struct nvme_qpair *qpair, | nvme_qpair_manual_complete_request(struct nvme_qpair *qpair, | ||||
struct nvme_request *req, uint32_t sct, uint32_t sc, | struct nvme_request *req, uint32_t sct, uint32_t sc, | ||||
boolean_t print_on_error) | boolean_t print_on_error) | ||||
{ | { | ||||
struct nvme_completion cpl; | struct nvme_completion cpl; | ||||
boolean_t error; | boolean_t error; | ||||
memset(&cpl, 0, sizeof(cpl)); | memset(&cpl, 0, sizeof(cpl)); | ||||
cpl.sqid = qpair->id; | cpl.sqid = qpair->id; | ||||
cpl.status |= (sct & NVME_STATUS_SCT_MASK) << NVME_STATUS_SCT_SHIFT; | cpl.status.sct = sct; | ||||
cpl.status |= (sc & NVME_STATUS_SC_MASK) << NVME_STATUS_SC_SHIFT; | cpl.status.sc = sc; | ||||
error = nvme_completion_is_error(&cpl); | error = nvme_completion_is_error(&cpl); | ||||
if (error && print_on_error) { | if (error && print_on_error) { | ||||
nvme_qpair_print_command(qpair, &req->cmd); | nvme_qpair_print_command(qpair, &req->cmd); | ||||
nvme_qpair_print_completion(qpair, &cpl); | nvme_qpair_print_completion(qpair, &cpl); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 663 Lines • Show Last 20 Lines |
See above