diff --git a/plugins/sandisk/sandisk-nvme.h b/plugins/sandisk/sandisk-nvme.h index 418451cf32..6f8297be9c 100644 --- a/plugins/sandisk/sandisk-nvme.h +++ b/plugins/sandisk/sandisk-nvme.h @@ -5,7 +5,7 @@ #if !defined(SANDISK_NVME) || defined(CMD_HEADER_MULTI_READ) #define SANDISK_NVME -#define SANDISK_PLUGIN_VERSION "3.0.7" +#define SANDISK_PLUGIN_VERSION "3.0.8" #include "cmd.h" PLUGIN(NAME("sndk", "Sandisk vendor specific extensions", SANDISK_PLUGIN_VERSION), diff --git a/plugins/sandisk/sandisk-utils.c b/plugins/sandisk/sandisk-utils.c index 523609dec4..4b8d976cf5 100644 --- a/plugins/sandisk/sandisk-utils.c +++ b/plugins/sandisk/sandisk-utils.c @@ -568,24 +568,6 @@ __u64 sndk_get_drive_capabilities(nvme_root_t r, struct nvme_dev *dev) SNDK_DRIVE_CAP_SET_LATENCY_MONITOR); break; - case SNDK_NVME_SNESSD1_DEV_ID_E1L: - case SNDK_NVME_SNESSD1_DEV_ID_E2: - case SNDK_NVME_SNESSD1_DEV_ID_E3S: - case SNDK_NVME_SNESSD1_DEV_ID_E3L: - case SNDK_NVME_SNESSD1_DEV_ID_U2: - capabilities |= (SNDK_DRIVE_CAP_C0_LOG_PAGE | - SNDK_DRIVE_CAP_C3_LOG_PAGE | - SNDK_DRIVE_CAP_CA_LOG_PAGE | - SNDK_DRIVE_CAP_OCP_C4_LOG_PAGE | - SNDK_DRIVE_CAP_OCP_C5_LOG_PAGE | - SNDK_DRIVE_CAP_UDUI | - SNDK_DRIVE_CAP_VU_FID_CLEAR_PCIE | - SNDK_DRIVE_CAP_CLOUD_SSD_VERSION | - SNDK_DRIVE_CAP_LOG_PAGE_DIR | - SNDK_DRIVE_CAP_DRIVE_STATUS | - SNDK_DRIVE_CAP_SET_LATENCY_MONITOR); - break; - case SNDK_NVME_SN861_DEV_ID_E1S: capabilities |= (SNDK_DRIVE_CAP_C0_LOG_PAGE | SNDK_DRIVE_CAP_C3_LOG_PAGE | @@ -629,6 +611,24 @@ __u64 sndk_get_drive_capabilities(nvme_root_t r, struct nvme_dev *dev) case SNDK_NVME_SNDK_VID: switch (read_device_id) { + case SNDK_NVME_SNESSD1_DEV_ID_E1L: + case SNDK_NVME_SNESSD1_DEV_ID_E2: + case SNDK_NVME_SNESSD1_DEV_ID_E3S: + case SNDK_NVME_SNESSD1_DEV_ID_E3L: + case SNDK_NVME_SNESSD1_DEV_ID_U2: + capabilities |= (SNDK_DRIVE_CAP_C0_LOG_PAGE | + SNDK_DRIVE_CAP_C3_LOG_PAGE | + SNDK_DRIVE_CAP_CA_LOG_PAGE | + SNDK_DRIVE_CAP_OCP_C4_LOG_PAGE | + SNDK_DRIVE_CAP_OCP_C5_LOG_PAGE | + SNDK_DRIVE_CAP_UDUI | + SNDK_DRIVE_CAP_VU_FID_CLEAR_PCIE | + SNDK_DRIVE_CAP_CLOUD_SSD_VERSION | + SNDK_DRIVE_CAP_LOG_PAGE_DIR | + SNDK_DRIVE_CAP_DRIVE_STATUS | + SNDK_DRIVE_CAP_SET_LATENCY_MONITOR); + break; + case SNDK_NVME_SN7150_DEV_ID_1: case SNDK_NVME_SN7150_DEV_ID_2: case SNDK_NVME_SN7150_DEV_ID_3: diff --git a/plugins/wdc/wdc-nvme.c b/plugins/wdc/wdc-nvme.c index 43bf793bdb..604fe86401 100644 --- a/plugins/wdc/wdc-nvme.c +++ b/plugins/wdc/wdc-nvme.c @@ -92,6 +92,12 @@ #define WDC_NVME_SNTMP_DEV_ID 0x2761 #define WDC_NVME_SNTMP_DEV_ID_1 0x2763 +#define WDC_NVME_SNESSD1_DEV_ID_E1L 0x2765 +#define WDC_NVME_SNESSD1_DEV_ID_E2 0x2766 +#define WDC_NVME_SNESSD1_DEV_ID_E3S 0x2767 +#define WDC_NVME_SNESSD1_DEV_ID_E3L 0x2768 +#define WDC_NVME_SNESSD1_DEV_ID_U2 0x2769 + /* This id's are no longer supported, delete ?? */ #define WDC_NVME_SN550_DEV_ID 0x2708 @@ -190,7 +196,9 @@ #define WDC_DRIVE_CAP_OCP_C5_LOG_PAGE 0x0000008000000000 #define WDC_DRIVE_CAP_DEVICE_WAF 0x0000010000000000 #define WDC_DRIVE_CAP_SET_LATENCY_MONITOR 0x0000020000000000 -#define WDC_DRIVE_CAP_RESERVED1 0x0000040000000000 +#define WDC_DRIVE_CAP_UDUI 0x0000040000000000 +#define WDC_DRIVE_CAP_RESIZE_SN861 0x0000080000000000 + /* Any new capability flags should be added to the SNDK plugin */ #define WDC_DRIVE_CAP_SMART_LOG_MASK (WDC_DRIVE_CAP_C0_LOG_PAGE | \ @@ -1957,6 +1965,24 @@ static __u64 wdc_get_drive_capabilities(nvme_root_t r, struct nvme_dev *dev) case WDC_NVME_SNDK_VID: switch (read_device_id) { + case WDC_NVME_SNESSD1_DEV_ID_E1L: + case WDC_NVME_SNESSD1_DEV_ID_E2: + case WDC_NVME_SNESSD1_DEV_ID_E3S: + case WDC_NVME_SNESSD1_DEV_ID_E3L: + case WDC_NVME_SNESSD1_DEV_ID_U2: + capabilities |= (WDC_DRIVE_CAP_C0_LOG_PAGE | + WDC_DRIVE_CAP_C3_LOG_PAGE | + WDC_DRIVE_CAP_CA_LOG_PAGE | + WDC_DRIVE_CAP_OCP_C4_LOG_PAGE | + WDC_DRIVE_CAP_OCP_C5_LOG_PAGE | + WDC_DRIVE_CAP_UDUI | + WDC_DRIVE_CAP_VU_FID_CLEAR_PCIE | + WDC_DRIVE_CAP_CLOUD_SSD_VERSION | + WDC_DRIVE_CAP_LOG_PAGE_DIR | + WDC_DRIVE_CAP_DRIVE_STATUS | + WDC_DRIVE_CAP_SET_LATENCY_MONITOR); + break; + case WDC_NVME_SXSLCL_DEV_ID: capabilities = WDC_DRIVE_CAP_DRIVE_ESSENTIALS; break; @@ -7392,6 +7418,11 @@ static int wdc_get_c0_log_page(nvme_root_t r, struct nvme_dev *dev, char *format case WDC_NVME_SN655_DEV_ID_1: case WDC_NVME_SNTMP_DEV_ID: case WDC_NVME_SNTMP_DEV_ID_1: + case WDC_NVME_SNESSD1_DEV_ID_E1L: + case WDC_NVME_SNESSD1_DEV_ID_E2: + case WDC_NVME_SNESSD1_DEV_ID_E3S: + case WDC_NVME_SNESSD1_DEV_ID_E3L: + case WDC_NVME_SNESSD1_DEV_ID_U2: if (uuid_index == 0) { ret = nvme_get_print_ocp_cloud_smart_log(dev, uuid_index,