aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nvme
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/nvme')
-rw-r--r--sys/dev/nvme/nvme.c7
-rw-r--r--sys/dev/nvme/nvme.h1
-rw-r--r--sys/dev/nvme/nvme_qpair.c14
3 files changed, 14 insertions, 8 deletions
diff --git a/sys/dev/nvme/nvme.c b/sys/dev/nvme/nvme.c
index 6ad010dae1b8..fc491eb72f1c 100644
--- a/sys/dev/nvme/nvme.c
+++ b/sys/dev/nvme/nvme.c
@@ -98,7 +98,7 @@ nvme_dump_command(struct nvme_command *cmd)
void
nvme_dump_completion(struct nvme_completion *cpl)
{
- uint8_t p, sc, sct, m, dnr;
+ uint8_t p, sc, sct, crd, m, dnr;
uint16_t status;
status = le16toh(cpl->status);
@@ -106,13 +106,14 @@ nvme_dump_completion(struct nvme_completion *cpl)
p = NVME_STATUS_GET_P(status);
sc = NVME_STATUS_GET_SC(status);
sct = NVME_STATUS_GET_SCT(status);
+ crd = NVME_STATUS_GET_CRD( status);
m = NVME_STATUS_GET_M(status);
dnr = NVME_STATUS_GET_DNR(status);
printf("cdw0:%08x sqhd:%04x sqid:%04x "
- "cid:%04x p:%x sc:%02x sct:%x m:%x dnr:%x\n",
+ "cid:%04x p:%x sc:%02x sct:%x crd:%x m:%x dnr:%x\n",
le32toh(cpl->cdw0), le16toh(cpl->sqhd), le16toh(cpl->sqid),
- cpl->cid, p, sc, sct, m, dnr);
+ cpl->cid, p, sc, sct, crd, m, dnr);
}
int
diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h
index 9aefc5c47973..94b20069c12e 100644
--- a/sys/dev/nvme/nvme.h
+++ b/sys/dev/nvme/nvme.h
@@ -204,6 +204,7 @@
#define NVME_STATUS_GET_P(st) (((st) >> NVME_STATUS_P_SHIFT) & NVME_STATUS_P_MASK)
#define NVME_STATUS_GET_SC(st) (((st) >> NVME_STATUS_SC_SHIFT) & NVME_STATUS_SC_MASK)
#define NVME_STATUS_GET_SCT(st) (((st) >> NVME_STATUS_SCT_SHIFT) & NVME_STATUS_SCT_MASK)
+#define NVME_STATUS_GET_CRD(st) (((st) >> NVME_STATUS_CRD_SHIFT) & NVME_STATUS_CRD_MASK)
#define NVME_STATUS_GET_M(st) (((st) >> NVME_STATUS_M_SHIFT) & NVME_STATUS_M_MASK)
#define NVME_STATUS_GET_DNR(st) (((st) >> NVME_STATUS_DNR_SHIFT) & NVME_STATUS_DNR_MASK)
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index 3b20a7e209fa..e0b3517529d5 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -344,14 +344,18 @@ static void
nvme_qpair_print_completion(struct nvme_qpair *qpair,
struct nvme_completion *cpl)
{
- uint16_t sct, sc;
+ uint8_t sct, sc, crd, m, dnr;
sct = NVME_STATUS_GET_SCT(cpl->status);
sc = NVME_STATUS_GET_SC(cpl->status);
-
- nvme_printf(qpair->ctrlr, "%s (%02x/%02x) sqid:%d cid:%d cdw0:%x\n",
- get_status_string(sct, sc), sct, sc, cpl->sqid, cpl->cid,
- cpl->cdw0);
+ crd = NVME_STATUS_GET_CRD(cpl->status);
+ m = NVME_STATUS_GET_M(cpl->status);
+ dnr = NVME_STATUS_GET_DNR(cpl->status);
+
+ nvme_printf(qpair->ctrlr, "%s (%02x/%02x) crd:%x m:%x dnr:%x "
+ "sqid:%d cid:%d cdw0:%x\n",
+ get_status_string(sct, sc), sct, sc, crd, m, dnr,
+ cpl->sqid, cpl->cid, cpl->cdw0);
}
static bool