From 9e35360f0bd8aa61b0f851a2dd67e379d1c1a106 Mon Sep 17 00:00:00 2001 From: jeff-lien-sndk Date: Thu, 9 Apr 2026 12:18:38 -0500 Subject: [PATCH] sndk: Add support for new Sandisk drives Here's the list of new drives now supported by the sandisk plugin: SN862_DEV_ID_E1S_25 0x27A0 SN862_DEV_ID_E1S_15 0x27A1 SN862_DEV_ID_E1S_95 0x27A2 SN862_DEV_ID_E3S 0x27A3 SN862_DEV_ID_U2 0x27A4 SNESSD2_DEV_ID_E1S_95 0x2790 SNESSD2_DEV_ID_E1S_15 0x2791 SNESSD2_DEV_ID_E1L 0x2792 SNESSD2_DEV_ID_E3S 0x2793 SNESSD2_DEV_ID_E3L 0x2794 Signed-off-by: jeff-lien-sndk Reviewed-by: brandon-paupore-sndk --- plugins/sandisk/sandisk-nvme.h | 2 +- plugins/sandisk/sandisk-utils.c | 27 +++++++++++++++++++++++++++ plugins/sandisk/sandisk-utils.h | 12 ++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/plugins/sandisk/sandisk-nvme.h b/plugins/sandisk/sandisk-nvme.h index 2691bc74b6..ead18848a6 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.1.1" +#define SANDISK_PLUGIN_VERSION "3.1.2" #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 4e7c72a0b7..452ae334e3 100644 --- a/plugins/sandisk/sandisk-utils.c +++ b/plugins/sandisk/sandisk-utils.c @@ -639,6 +639,33 @@ __u64 sndk_get_drive_capabilities(struct libnvme_global_ctx *ctx, capabilities = SNDK_DRIVE_CAP_UDUI; break; + case SNDK_NVME_SN862_DEV_ID_E1S_25: + case SNDK_NVME_SN862_DEV_ID_E1S_15: + case SNDK_NVME_SN862_DEV_ID_E1S_95: + case SNDK_NVME_SN862_DEV_ID_E3S: + case SNDK_NVME_SN862_DEV_ID_U2: + case SNDK_NVME_SNESSD2_DEV_ID_E1S_95: + case SNDK_NVME_SNESSD2_DEV_ID_E1S_15: + case SNDK_NVME_SNESSD2_DEV_ID_E1L: + case SNDK_NVME_SNESSD2_DEV_ID_E3S: + case SNDK_NVME_SNESSD2_DEV_ID_E3L: + 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_INTERNAL_LOG | + SNDK_DRIVE_CAP_FW_ACTIVATE_HISTORY_C2 | + SNDK_DRIVE_CAP_VU_FID_CLEAR_PCIE | + SNDK_DRIVE_CAP_VU_FID_CLEAR_FW_ACT_HISTORY | + SNDK_DRIVE_CAP_INFO | + SNDK_DRIVE_CAP_CLOUD_SSD_VERSION | + SNDK_DRIVE_CAP_LOG_PAGE_DIR | + SNDK_DRIVE_CAP_DRIVE_STATUS | + SNDK_DRIVE_CAP_RESIZE_SN861 | + SNDK_DRIVE_CAP_SET_LATENCY_MONITOR); + break; + default: capabilities = 0; } diff --git a/plugins/sandisk/sandisk-utils.h b/plugins/sandisk/sandisk-utils.h index e522145e8b..9f83d368b9 100644 --- a/plugins/sandisk/sandisk-utils.h +++ b/plugins/sandisk/sandisk-utils.h @@ -51,6 +51,18 @@ #define SNDK_NVME_SNESSD1_DEV_ID_E3L 0x2768 #define SNDK_NVME_SNESSD1_DEV_ID_U2 0x2769 +#define SNDK_NVME_SNESSD2_DEV_ID_E1S_95 0x2790 +#define SNDK_NVME_SNESSD2_DEV_ID_E1S_15 0x2791 +#define SNDK_NVME_SNESSD2_DEV_ID_E1L 0x2792 +#define SNDK_NVME_SNESSD2_DEV_ID_E3S 0x2793 +#define SNDK_NVME_SNESSD2_DEV_ID_E3L 0x2794 + +#define SNDK_NVME_SN862_DEV_ID_E1S_25 0x27A0 +#define SNDK_NVME_SN862_DEV_ID_E1S_15 0x27A1 +#define SNDK_NVME_SN862_DEV_ID_E1S_95 0x27A2 +#define SNDK_NVME_SN862_DEV_ID_E3S 0x27A3 +#define SNDK_NVME_SN862_DEV_ID_U2 0x27A4 + #define SNDK_NVME_SN520_DEV_ID 0x5003 #define SNDK_NVME_SN520_DEV_ID_1 0x5004 #define SNDK_NVME_SN520_DEV_ID_2 0x5005