d384d2
From 0d40ff02f2ae692c34cfd63b0617abf66ea58c5e Mon Sep 17 00:00:00 2001
d384d2
From: Jean Delvare <jdelvare@suse.de>
d384d2
Date: Wed, 21 Oct 2020 15:24:40 +0200
d384d2
Subject: [PATCH 1/2] dmidecode: Add new system slot types from SMBIOS spec
d384d2
 3.4.0
d384d2
d384d2
Based on an earlier patch from Prabhakar Pujeri (Dell).
d384d2
d384d2
Version 3.4.0 of the SMBIOS specification adds 14 new system slot
d384d2
types and updates 2 (DMI type 9).
d384d2
d384d2
Signed-off-by: Jean Delvare <jdelvare@suse.de>
d384d2
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
d384d2
---
d384d2
 dmidecode.c | 26 ++++++++++++++++++++------
d384d2
 1 file changed, 20 insertions(+), 6 deletions(-)
d384d2
d384d2
diff --git a/dmidecode.c b/dmidecode.c
d384d2
index 981fe9697458..0e480d3e337b 100644
d384d2
--- a/dmidecode.c
d384d2
+++ b/dmidecode.c
d384d2
@@ -1931,11 +1931,16 @@ static const char *dmi_slot_type(u8 code)
d384d2
 		"MXM Type IV",
d384d2
 		"MXM 3.0 Type A",
d384d2
 		"MXM 3.0 Type B",
d384d2
-		"PCI Express 2 SFF-8639",
d384d2
-		"PCI Express 3 SFF-8639",
d384d2
+		"PCI Express 2 SFF-8639 (U.2)",
d384d2
+		"PCI Express 3 SFF-8639 (U.2)",
d384d2
 		"PCI Express Mini 52-pin with bottom-side keep-outs",
d384d2
 		"PCI Express Mini 52-pin without bottom-side keep-outs",
d384d2
-		"PCI Express Mini 76-pin" /* 0x23 */
d384d2
+		"PCI Express Mini 76-pin"
d384d2
+		"PCI Express 4 SFF-8639 (U.2)",
d384d2
+		"PCI Express 5 SFF-8639 (U.2)",
d384d2
+		"OCP NIC 3.0 Small Form Factor (SFF)",
d384d2
+		"OCP NIC 3.0 Large Form Factor (LFF)",
d384d2
+		"OCP NIC Prior to 3.0" /* 0x28 */
d384d2
 	};
d384d2
 	static const char *type_0x30[] = {
d384d2
 		"CXL FLexbus 1.0" /* 0x30 */
d384d2
@@ -1970,18 +1975,27 @@ static const char *dmi_slot_type(u8 code)
d384d2
 		"PCI Express 4 x2",
d384d2
 		"PCI Express 4 x4",
d384d2
 		"PCI Express 4 x8",
d384d2
-		"PCI Express 4 x16" /* 0xBD */
d384d2
+		"PCI Express 4 x16",
d384d2
+		"PCI Express 5",
d384d2
+		"PCI Express 5 x1",
d384d2
+		"PCI Express 5 x2",
d384d2
+		"PCI Express 5 x4",
d384d2
+		"PCI Express 5 x8",
d384d2
+		"PCI Express 5 x16",
d384d2
+		"PCI Express 6+",
d384d2
+		"EDSFF E1",
d384d2
+		"EDSFF E3" /* 0xC6 */
d384d2
 	};
d384d2
 	/*
d384d2
 	 * Note to developers: when adding entries to these lists, check if
d384d2
 	 * function dmi_slot_id below needs updating too.
d384d2
 	 */
d384d2
 
d384d2
-	if (code >= 0x01 && code <= 0x23)
d384d2
+	if (code >= 0x01 && code <= 0x28)
d384d2
 		return type[code - 0x01];
d384d2
 	if (code == 0x30)
d384d2
 		return type_0x30[code - 0x30];
d384d2
-	if (code >= 0xA0 && code <= 0xBD)
d384d2
+	if (code >= 0xA0 && code <= 0xC6)
d384d2
 		return type_0xA0[code - 0xA0];
d384d2
 	return out_of_spec;
d384d2
 }
d384d2
-- 
d384d2
2.17.1
d384d2