git: fef6c8f2ee8f - main - nvmecontrol: Add Intel Drive Marketing Name Log support (0xdd)

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sun, 10 Aug 2025 04:12:00 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=fef6c8f2ee8fb4ac728b505bb031d03852b0a761

commit fef6c8f2ee8fb4ac728b505bb031d03852b0a761
Author:     Wanpeng Qian <wanpengqian@gmail.com>
AuthorDate: 2025-08-10 03:27:00 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-08-10 04:11:09 +0000

    nvmecontrol: Add Intel Drive Marketing Name Log support (0xdd)
    
    Add Intel Drive Marketing Name Log support (0xdd)
    
    Specification here:
    https://www.intel.com/content/dam/support/us/en/documents/ssdc/hpssd/sb/Intel_SSD_DC_P3600_Series_PCIe_Product_Specification-004.pdf
    
    Reviewed by: imp
    Differential Revsion: https://reviews.freebsd.org/D33819
---
 sbin/nvmecontrol/modules/intel/intel.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/sbin/nvmecontrol/modules/intel/intel.c b/sbin/nvmecontrol/modules/intel/intel.c
index 4229a48e4153..6ffe2c4c1563 100644
--- a/sbin/nvmecontrol/modules/intel/intel.c
+++ b/sbin/nvmecontrol/modules/intel/intel.c
@@ -195,6 +195,18 @@ print_intel_add_smart(const struct nvme_controller_data *cdata __unused, void *b
 	}
 }
 
+static void
+print_intel_drive_marketing_name(const struct nvme_controller_data *cdata __unused, void *buf, uint32_t size __unused)
+{
+	const char *p = buf;
+
+	printf("Intel Drive Marketing Name Log\n");
+	printf("=======================\n");
+	printf("%.*s\n", 29, p);
+}
+
+#define INTEL_LOG_DRIVE_MARKETING_NAME	0xdd
+
 NVME_LOGPAGE(intel_temp,
     INTEL_LOG_TEMP_STATS,		"intel", "Temperature Stats",
     print_intel_temp_stats,		sizeof(struct intel_log_temp_stats));
@@ -207,3 +219,6 @@ NVME_LOGPAGE(intel_wlat,
 NVME_LOGPAGE(intel_smart,	/* Note: Samsung and Micron also use this */
     INTEL_LOG_ADD_SMART,		"intel", "Extra Health/SMART Data",
     print_intel_add_smart,		DEFAULT_SIZE);
+NVME_LOGPAGE(intel_dmn,
+    INTEL_LOG_DRIVE_MARKETING_NAME,	"intel", "Drive Marketing Name Log",
+    print_intel_drive_marketing_name,	DEFAULT_SIZE);