git: 0b8f21e8d1f7 - main - nvme: Add LPA bits
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 05 Apr 2024 22:57:48 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=0b8f21e8d1f749bd03532f90656e2a5cf01800c0
commit 0b8f21e8d1f749bd03532f90656e2a5cf01800c0
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2024-04-03 17:26:17 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-04-05 22:53:47 +0000
nvme: Add LPA bits
Add all the bits from the NVMe 2.0 base specification: CMD_EFFECTS to
indicate the commands and effects log page is supported, TELEMETRY to
indicate that the telemetry log pages and protocols are supported,
PERSISTENT_EVENTS to indicate the persistent event log is supported,
LOG_PAGES_PAGE to indicate that various log pages related to log page
and command support are supported: L0, L5, L12, and L13. and
DA4_TELEMETRY to indicate that the DA4 area is supported for telemetry
data.
Sponsored by: Netflix
---
sys/dev/nvme/nvme.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h
index 46956d5f54cf..706b77507b61 100644
--- a/sys/dev/nvme/nvme.h
+++ b/sys/dev/nvme/nvme.h
@@ -390,9 +390,24 @@ enum nvme_psdt {
/* per namespace smart/health log page */
#define NVME_CTRLR_DATA_LPA_NS_SMART_SHIFT (0)
#define NVME_CTRLR_DATA_LPA_NS_SMART_MASK (0x1)
+/* Commands Supported and Effects log page */
+#define NVME_CTRLR_DATA_LPA_CMD_EFFECTS_SHIFT (1)
+#define NVME_CTRLR_DATA_LPA_CMD_EFFECTS_MASK (0x1)
/* extended data for Get Log Page command */
#define NVME_CTRLR_DATA_LPA_EXT_DATA_SHIFT (2)
#define NVME_CTRLR_DATA_LPA_EXT_DATA_MASK (0x1)
+/* telemetry */
+#define NVME_CTRLR_DATA_LPA_TELEMETRY_SHIFT (3)
+#define NVME_CTRLR_DATA_LPA_TELEMETRY_MASK (0x1)
+/* persistent event */
+#define NVME_CTRLR_DATA_LPA_PERSISTENT_EVENT_SHIFT (4)
+#define NVME_CTRLR_DATA_LPA_PERSISTENT_EVENT_MASK (0x1)
+/* Supported log pages, etc */
+#define NVME_CTRLR_DATA_LPA_LOG_PAGES_PAGE_SHIFT (5)
+#define NVME_CTRLR_DATA_LPA_LOG_PAGES_PAGE_MASK (0x1)
+/* Data Area 4 for Telemetry */
+#define NVME_CTRLR_DATA_LPA_DA4_TELEMETRY_SHIFT (6)
+#define NVME_CTRLR_DATA_LPA_DA4_TELEMETRY_MASK (0x1)
/** AVSCC - admin vendor specific command configuration */
/* admin vendor specific commands use spec format */