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
This commit is contained in:
Warner Losh 2024-04-03 11:26:17 -06:00
parent 3bbe8ed1a7
commit 0b8f21e8d1

View file

@ -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 */