Skip to content

Commit bca0df8

Browse files
plugins/ocp: Added OCP 2.6 telemetry support
Updated the Telemetry Structure and Enum to support the OCP 2.6 spec Reviewed-by: Karthik Balan <karthik.b82@samsung.com> Reviewed-by: Arunpandian J <arun.j@samsung.com> Signed-off-by: Vigneshwaran Saravanan/Vigneshwaran Saravanan <s.vignesh@samsung.com>
1 parent 4053eff commit bca0df8

File tree

2 files changed

+232
-31
lines changed

2 files changed

+232
-31
lines changed

plugins/ocp/ocp-telemetry-decode.c

+26-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ void print_stats_desc(struct telemetry_stats_desc *stat_desc)
3939
printf("Statistics info : 0x%x\n", stat_desc->info);
4040
printf("NS info : 0x%x\n", stat_desc->ns_info);
4141
printf("Statistic Data Size : 0x%x\n", le16_to_cpu(stat_data_sz));
42+
printf("Namespace ID[15:0] : 0x%x\n", stat_desc->nsid);
4243

4344
if (stat_data_sz > 0) {
4445
printf("%s : 0x",
@@ -116,6 +117,7 @@ void print_telemetry_fifo_event(__u8 class_type,
116117
printf(" Status Code : 0x%04x\n", le16_to_cpu(status));
117118
printf(" Cmd ID : 0x%04x\n", le16_to_cpu(cmd_id));
118119
printf(" SQ ID : 0x%04x\n", le16_to_cpu(sq_id));
120+
printf(" LID,FID,Other Cmd Reserved : 0x%02x\n", data[7]);
119121
} else if (id == CC_REGISTER_CHANGED) {
120122
__u32 cc_reg_data = *(__u32 *)data;
121123

@@ -126,6 +128,19 @@ void print_telemetry_fifo_event(__u8 class_type,
126128

127129
printf(" CSTS Reg Data : 0x%08x\n",
128130
le32_to_cpu(csts_reg_data));
131+
} else if (id == OOB_COMMAND) {
132+
printf(" Cmd Op Code : 0x%02x\n", data[0]);
133+
__u16 status = *(__u16 *)&data[1];
134+
135+
printf(" Admin Cmd Status : 0x%04x\n", le16_to_cpu(status));
136+
printf(" NVMe MI SC : 0x%02x\n", data[3]);
137+
printf(" Byte1 Req Msg : 0x%02x\n", data[4]);
138+
printf(" Byte2 Req Msg : 0x%02x\n", data[5]);
139+
} else if (id == OOB_AER_EVENT_MSG_TRANS) {
140+
__u64 aem = *(__u64 *)data;
141+
142+
printf(" AEM : 0x%llx\n",
143+
le64_to_cpu(aem));
129144
}
130145
if (size > 8)
131146
print_vu_event_data((size-8), (__u8 *)&data[8]);
@@ -168,7 +183,7 @@ void print_telemetry_fifo_event(__u8 class_type,
168183

169184
case TELEMETRY_MEDIA_WEAR_CLASS:
170185
printf(" Event ID : 0x%04x %s\n",
171-
id, telemetry_media_debug_event_id_to_string(id));
186+
id, telemetry_media_wear_event_id_to_string(id));
172187
__u32 host_tb_written = *(__u32 *)&data[0];
173188
__u32 media_tb_written = *(__u32 *)&data[4];
174189
__u32 media_tb_erased = *(__u32 *)&data[8];
@@ -190,6 +205,16 @@ void print_telemetry_fifo_event(__u8 class_type,
190205
print_stats_desc((struct telemetry_stats_desc *)data);
191206
break;
192207

208+
case TELEMETRY_VIRTUAL_FIFO_EVENT_CLASS:
209+
printf(" Event ID : 0x%04x %s\n",
210+
id, telemetry_virtual_fifo_event_id_to_string(id));
211+
212+
__u16 vu_event_id = *(__u16 *)data;
213+
214+
printf(" VU Virtual FIFO Event ID : 0x%02x\n", le16_to_cpu(vu_event_id));
215+
printf("\n");
216+
break;
217+
193218
default:
194219
/*
195220
* printf("Unknown Event Class Type\n");

plugins/ocp/ocp-telemetry-decode.h

+206-30
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,83 @@ enum TELEMETRY_STATISTIC_ID {
4848
TELEMETRY_STAT_ID_MAXDBB = 0x1B, /* Max Die Bad Block */
4949
TELEMETRY_STAT_ID_MAXCBB = 0x1C, /* Max NAND Channel Bad Block */
5050
TELEMETRY_STAT_ID_MINCBB = 0x1D, /* Min NAND Channel Bad Block */
51+
TELEMETRY_STAT_ID_PMUW = 0x1E, /* Physical Media Units Written */
52+
TELEMETRY_STAT_ID_PMUR = 0x1F, /* Physical Media Units Read */
53+
TELEMETRY_STAT_ID_BUNB = 0x20, /* Bad User NAND Blocks */
54+
TELEMETRY_STAT_ID_BSNB = 0x21, /* Bad System NAND Blocks */
55+
TELEMETRY_STAT_ID_XORRC = 0x22, /* XOR Recovery Count */
56+
TELEMETRY_STAT_ID_UNREC = 0x23, /* Uncorrectable Read Error Count */
57+
TELEMETRY_STAT_ID_SECCEC = 0x24, /* Soft ECC Error Count */
58+
TELEMETRY_STAT_ID_ETOECC = 0x25, /* End To End Correction Counts */
59+
TELEMETRY_STAT_ID_SDU = 0x26, /* System Data % Used */
60+
TELEMETRY_STAT_ID_RC = 0x27, /* Refresh Count */
61+
TELEMETRY_STAT_ID_UDEC = 0x28, /* User Data Erase Counts */
62+
TELEMETRY_STAT_ID_TTSC = 0x29, /* Thremal Throttling Status and Count */
63+
TELEMETRY_STAT_ID_DSSDSV = 0x2A, /* DSSD Specification Version */
64+
TELEMETRY_STAT_ID_PCIECEC = 0x2B, /* PCIe Correctable Error Count */
65+
TELEMETRY_STAT_ID_IS = 0x2C, /* Incomplete Shutdown */
66+
TELEMETRY_STAT_ID_FB = 0x2D, /* % Free Block */
67+
TELEMETRY_STAT_ID_CH = 0x2E, /* Capacitor Health */
68+
TELEMETRY_STAT_ID_NVMEBEV = 0x2F, /* NVM Express Base Errata Version */
69+
TELEMETRY_STAT_ID_NVMCSEV = 0x30, /* NVM Command Set Errata Version */
70+
TELEMETRY_STAT_ID_NVMEMIEV = 0x31, /* NVM Exp Mgmt Interface Err Version */
71+
TELEMETRY_STAT_ID_UIO = 0x32, /* Unaligned IO */
72+
TELEMETRY_STAT_ID_SVN = 0x33, /* Security Version Number */
73+
TELEMETRY_STAT_ID_TNUSE = 0x34, /* Total NUSE */
74+
TELEMETRY_STAT_ID_PLPSC = 0x35, /* PLP Start Count */
75+
TELEMETRY_STAT_ID_EE = 0x36, /* Endurance Estimate */
76+
TELEMETRY_STAT_ID_PCIELRC = 0x37, /* PCIe Link Retraining Count */
77+
TELEMETRY_STAT_ID_PSCC = 0x38, /* Power State Change Count */
78+
TELEMETRY_STAT_ID_LPFR = 0x39, /* Lowest Permitted Firmware Revision */
79+
TELEMETRY_STAT_ID_LPV = 0x3A, /* Log Page Version */
80+
TELEMETRY_STAT_ID_MDO = 0x3B, /* Media Dies Offline */
81+
TELEMETRY_STAT_ID_MTR = 0x3C, /* Max Temperature Recorded */
82+
TELEMETRY_STAT_ID_NAEC = 0x3D, /* Nand Avg Erase Count */
83+
TELEMETRY_STAT_ID_CT = 0x3E, /* Command Timeout */
84+
TELEMETRY_STAT_ID_SAPFC = 0x3F, /* System Area Program Fail Count */
85+
TELEMETRY_STAT_ID_SARFC = 0x40, /* System Area Read Fail Count */
86+
TELEMETRY_STAT_ID_SAEFC = 0x41, /* System Area Erase Fail Count */
87+
TELEMETRY_STAT_ID_MPPC = 0x42, /* Max Peak Power Capability */
88+
TELEMETRY_STAT_ID_CMAP = 0x43, /* Current Max Average Power */
89+
TELEMETRY_STAT_ID_LPC = 0x44, /* Lifetime Power Consumed */
90+
TELEMETRY_STAT_ID_PAC = 0x45, /* Panic Asset Count */
91+
TELEMETRY_STAT_ID_DBT = 0x46, /* Device Busy Time */
92+
TELEMETRY_STAT_ID_CW = 0x47, /* Critical Warning */
93+
TELEMETRY_STAT_ID_COMTEMP = 0x48, /* Composite Temperature */
94+
TELEMETRY_STAT_ID_AS = 0x49, /* Available Spare */
95+
TELEMETRY_STAT_ID_AST = 0x4A, /* Available Spare Threshold */
96+
TELEMETRY_STAT_ID_PU = 0x4B, /* Percentage Used */
97+
TELEMETRY_STAT_ID_EGCWS = 0x4C, /* Endurance Gp CW Summary */
98+
TELEMETRY_STAT_ID_DUR = 0x4D, /* Data Units Read */
99+
TELEMETRY_STAT_ID_DUW = 0x4E, /* Data Units Written */
100+
TELEMETRY_STAT_ID_HRC = 0x4F, /* Host Read Commands */
101+
TELEMETRY_STAT_ID_HWC = 0x50, /* Host Write Commands */
102+
TELEMETRY_STAT_ID_CBT = 0x51, /* Controller Busy Time */
103+
TELEMETRY_STAT_ID_PC = 0x52, /* Power Cycles */
104+
TELEMETRY_STAT_ID_POH = 0x53, /* Power On Hours */
105+
TELEMETRY_STAT_ID_US = 0x54, /* Unsafe Shutdowns */
106+
TELEMETRY_STAT_ID_MDIE = 0x55, /* Media and Data Integrity Er */
107+
TELEMETRY_STAT_ID_NEILE = 0x56, /* No of Error Info Entries */
108+
TELEMETRY_STAT_ID_WCTT = 0x57, /* Warning Composite Temp Time */
109+
TELEMETRY_STAT_ID_CCTT = 0x58, /* Critical Comp Temp Time */
110+
TELEMETRY_STAT_ID_TS1 = 0x59, /* Temperature Sensor 1 */
111+
TELEMETRY_STAT_ID_TS2 = 0x5A, /* Temperature Sensor 2 */
112+
TELEMETRY_STAT_ID_TS3 = 0x5B, /* Temperature Sensor 3 */
113+
TELEMETRY_STAT_ID_TS4 = 0x5C, /* Temperature Sensor 4 */
114+
TELEMETRY_STAT_ID_TS5 = 0x5D, /* Temperature Sensor 5 */
115+
TELEMETRY_STAT_ID_TS6 = 0x5E, /* Temperature Sensor 6 */
116+
TELEMETRY_STAT_ID_TS7 = 0x5F, /* Temperature Sensor 7 */
117+
TELEMETRY_STAT_ID_TS8 = 0x60, /* Temperature Sensor 8 */
118+
TELEMETRY_STAT_ID_TMT1TC = 0x61, /* Thermal Mgmt Temp1 TC */
119+
TELEMETRY_STAT_ID_TMT2TC = 0x62, /* Thermal Mgmt Temp2 TC */
120+
TELEMETRY_STAT_ID_TTTMT1 = 0x63, /* Total Time TMT1 */
121+
TELEMETRY_STAT_ID_TTTMT2 = 0x64, /* Total Time TMT2 */
122+
TELEMETRY_STAT_ID_EEE = 0x65, /* Endurance Estimate */
123+
TELEMETRY_STAT_ID_EDUR = 0x66, /* Endurance Data Units Read */
124+
TELEMETRY_STAT_ID_EDUW = 0x67, /* Endurance Data Units Written */
125+
TELEMETRY_STAT_ID_EMUW = 0x68, /* Endurance Media Units Written */
126+
TELEMETRY_STAT_ID_ENEILE = 0x69, /* Endurance No Of Err Info Log Entries */
127+
51128
};
52129

53130
static const char * const telemetry_stat_id_str[] = {
@@ -80,50 +157,128 @@ static const char * const telemetry_stat_id_str[] = {
80157
[TELEMETRY_STAT_ID_MAXDBB] = "Max Die Bad Block",
81158
[TELEMETRY_STAT_ID_MAXCBB] = "Max NAND Channel Bad Block",
82159
[TELEMETRY_STAT_ID_MINCBB] = "Min NAND Channel Bad Block",
160+
[TELEMETRY_STAT_ID_PMUW] = "Physical Media Units Written",
161+
[TELEMETRY_STAT_ID_PMUR] = "Physical Media Units Read",
162+
[TELEMETRY_STAT_ID_BUNB] = "Bad User NAND Blocks",
163+
[TELEMETRY_STAT_ID_BSNB] = "Bad System NAND Blocks",
164+
[TELEMETRY_STAT_ID_XORRC] = "XOR Recovery Count",
165+
[TELEMETRY_STAT_ID_UNREC] = "Uncorrectable Read Error Count",
166+
[TELEMETRY_STAT_ID_SECCEC] = "Soft ECC Error Count",
167+
[TELEMETRY_STAT_ID_ETOECC] = "End To End Correction Counts",
168+
[TELEMETRY_STAT_ID_SDU] = "System Data Used",
169+
[TELEMETRY_STAT_ID_RC] = "Refresh Count",
170+
[TELEMETRY_STAT_ID_UDEC] = "User Data Erase Counts",
171+
[TELEMETRY_STAT_ID_TTSC] = "Thremal Throttling Status and Count",
172+
[TELEMETRY_STAT_ID_DSSDSV] = "DSSD Specification Version",
173+
[TELEMETRY_STAT_ID_PCIECEC] = "PCIe Correctable Error Count",
174+
[TELEMETRY_STAT_ID_IS] = "Incomplete Shutdown",
175+
[TELEMETRY_STAT_ID_FB] = "Free Block",
176+
[TELEMETRY_STAT_ID_CH] = "Capacitor Health",
177+
[TELEMETRY_STAT_ID_NVMEBEV] = "NVM Express Base Errata Version",
178+
[TELEMETRY_STAT_ID_NVMCSEV] = "NVM Command Set Errata Version",
179+
[TELEMETRY_STAT_ID_NVMEMIEV] = "NVM Express Management Interface Errata Version",
180+
[TELEMETRY_STAT_ID_UIO] = "Unaligned IO",
181+
[TELEMETRY_STAT_ID_SVN] = "Security Version Number",
182+
[TELEMETRY_STAT_ID_TNUSE] = "Total NUSE",
183+
[TELEMETRY_STAT_ID_PLPSC] = "PLP Start Count",
184+
[TELEMETRY_STAT_ID_EE] = "Endurance Estimate",
185+
[TELEMETRY_STAT_ID_PCIELRC] = "PCIe Link Retraining Count",
186+
[TELEMETRY_STAT_ID_PSCC] = "Power State Change Count",
187+
[TELEMETRY_STAT_ID_LPFR] = "Lowest Permitted Firmware Revision",
188+
[TELEMETRY_STAT_ID_LPV] = "Log Page Version",
189+
[TELEMETRY_STAT_ID_MDO] = "Media Dies Offline",
190+
[TELEMETRY_STAT_ID_MTR] = "Max Temperature Recorded",
191+
[TELEMETRY_STAT_ID_NAEC] = "Nand Avg Erase Count",
192+
[TELEMETRY_STAT_ID_CT] = "Command Timeout",
193+
[TELEMETRY_STAT_ID_SAPFC] = "System Area Program Fail Count",
194+
[TELEMETRY_STAT_ID_SARFC] = "System Area Read Fail Count",
195+
[TELEMETRY_STAT_ID_SAEFC] = "System Area Erase Fail Count",
196+
[TELEMETRY_STAT_ID_MPPC] = "Max Peak Power Capability",
197+
[TELEMETRY_STAT_ID_CMAP] = "Current Max Average Power",
198+
[TELEMETRY_STAT_ID_LPC] = "Lifetime Power Consumed",
199+
[TELEMETRY_STAT_ID_PAC] = "Panic Asset Count",
200+
[TELEMETRY_STAT_ID_DBT] = "Device Busy Time",
201+
[TELEMETRY_STAT_ID_CW] = "Critical Warning",
202+
[TELEMETRY_STAT_ID_COMTEMP] = "Composite Temperature",
203+
[TELEMETRY_STAT_ID_AS] = "Available Spare",
204+
[TELEMETRY_STAT_ID_AST] = "Available Spare Threshold",
205+
[TELEMETRY_STAT_ID_PU] = "Percentage Used",
206+
[TELEMETRY_STAT_ID_EGCWS] = "Endurance Gp CW Summary",
207+
[TELEMETRY_STAT_ID_DUR] = "Data Units Read",
208+
[TELEMETRY_STAT_ID_DUW] = "Data Units Written",
209+
[TELEMETRY_STAT_ID_HRC] = "Host Read Commands",
210+
[TELEMETRY_STAT_ID_HWC] = "Host Write Commands",
211+
[TELEMETRY_STAT_ID_CBT] = "Controller Busy Time",
212+
[TELEMETRY_STAT_ID_PC] = "Power Cycles",
213+
[TELEMETRY_STAT_ID_POH] = "Power On Hours",
214+
[TELEMETRY_STAT_ID_US] = "Unsafe Shutdowns",
215+
[TELEMETRY_STAT_ID_MDIE] = "Media and Data Integrity Er",
216+
[TELEMETRY_STAT_ID_NEILE] = "No of Error Info Entries",
217+
[TELEMETRY_STAT_ID_WCTT] = "Warning Composite Temp Time",
218+
[TELEMETRY_STAT_ID_CCTT] = "Critical Comp Temp Time",
219+
[TELEMETRY_STAT_ID_TS1] = "Temperature Sensor 1",
220+
[TELEMETRY_STAT_ID_TS2] = "Temperature Sensor 2",
221+
[TELEMETRY_STAT_ID_TS3] = "Temperature Sensor 3",
222+
[TELEMETRY_STAT_ID_TS4] = "Temperature Sensor 4",
223+
[TELEMETRY_STAT_ID_TS5] = "Temperature Sensor 5",
224+
[TELEMETRY_STAT_ID_TS6] = "Temperature Sensor 6",
225+
[TELEMETRY_STAT_ID_TS7] = "Temperature Sensor 7",
226+
[TELEMETRY_STAT_ID_TS8] = "Temperature Sensor 8",
227+
[TELEMETRY_STAT_ID_TMT1TC] = "Thermal Mgmt Temp1 TC",
228+
[TELEMETRY_STAT_ID_TMT2TC] = "Thermal Mgmt Temp2 TC",
229+
[TELEMETRY_STAT_ID_TTTMT1] = "Total Time TMT1",
230+
[TELEMETRY_STAT_ID_TTTMT2] = "Total Time TMT2",
231+
[TELEMETRY_STAT_ID_EEE] = "Endurance Estimate",
232+
[TELEMETRY_STAT_ID_EDUR] = "Endurance Data Units Read",
233+
[TELEMETRY_STAT_ID_EDUW] = "Endurance Data Units Written",
234+
[TELEMETRY_STAT_ID_EMUW] = "Endurance Media Units Written",
235+
[TELEMETRY_STAT_ID_ENEILE] = "Endurance No Of Err Info Log Entries",
83236
};
84237

85238
/*****************************************************************************
86239
* Telemetry FIFO Event Class ID's and Strings
87240
*****************************************************************************/
88241
enum TELEMETRY_EVENT_CLASS_TYPE {
89-
TELEMETRY_TIMESTAMP_CLASS = 0x1,
90-
TELEMETRY_PCIE_CLASS = 0x2,
91-
TELEMETRY_NVME_CLASS = 0x3,
92-
TELEMETRY_RESET_CLASS = 0x4,
93-
TELEMETRY_BOOT_SEQ_CLASS = 0x5,
94-
TELEMETRY_FW_ASSERT_CLASS = 0x6,
95-
TELEMETRY_TEMPERATURE_CLASS = 0x7,
96-
TELEMETRY_MEDIA_DBG_CLASS = 0x8,
97-
TELEMETRY_MEDIA_WEAR_CLASS = 0x9,
98-
TELEMETRY_STAT_SNAPSHOT_CLASS = 0xA,
242+
TELEMETRY_TIMESTAMP_CLASS = 0x1,
243+
TELEMETRY_PCIE_CLASS = 0x2,
244+
TELEMETRY_NVME_CLASS = 0x3,
245+
TELEMETRY_RESET_CLASS = 0x4,
246+
TELEMETRY_BOOT_SEQ_CLASS = 0x5,
247+
TELEMETRY_FW_ASSERT_CLASS = 0x6,
248+
TELEMETRY_TEMPERATURE_CLASS = 0x7,
249+
TELEMETRY_MEDIA_DBG_CLASS = 0x8,
250+
TELEMETRY_MEDIA_WEAR_CLASS = 0x9,
251+
TELEMETRY_STAT_SNAPSHOT_CLASS = 0xA,
252+
TELEMETRY_VIRTUAL_FIFO_EVENT_CLASS = 0xB,
99253
};
100254

101255
static const char * const telemetry_event_class_str[] = {
102-
[TELEMETRY_TIMESTAMP_CLASS] = "Timestamp Class",
103-
[TELEMETRY_PCIE_CLASS] = "PCIe Class",
104-
[TELEMETRY_NVME_CLASS] = "NVMe Class",
105-
[TELEMETRY_RESET_CLASS] = "Reset Class",
106-
[TELEMETRY_BOOT_SEQ_CLASS] = "Boot Sequence Class",
107-
[TELEMETRY_FW_ASSERT_CLASS] = "FW Assert Class",
108-
[TELEMETRY_TEMPERATURE_CLASS] = "Temperature Class",
109-
[TELEMETRY_MEDIA_DBG_CLASS] = "Media Debug Class",
110-
[TELEMETRY_MEDIA_WEAR_CLASS] = "Media Wear Class",
111-
[TELEMETRY_STAT_SNAPSHOT_CLASS] = "Statistic Snapshot Class",
256+
[TELEMETRY_TIMESTAMP_CLASS] = "Timestamp Class",
257+
[TELEMETRY_PCIE_CLASS] = "PCIe Class",
258+
[TELEMETRY_NVME_CLASS] = "NVMe Class",
259+
[TELEMETRY_RESET_CLASS] = "Reset Class",
260+
[TELEMETRY_BOOT_SEQ_CLASS] = "Boot Sequence Class",
261+
[TELEMETRY_FW_ASSERT_CLASS] = "FW Assert Class",
262+
[TELEMETRY_TEMPERATURE_CLASS] = "Temperature Class",
263+
[TELEMETRY_MEDIA_DBG_CLASS] = "Media Debug Class",
264+
[TELEMETRY_MEDIA_WEAR_CLASS] = "Media Wear Class",
265+
[TELEMETRY_STAT_SNAPSHOT_CLASS] = "Statistic Snapshot Class",
266+
[TELEMETRY_VIRTUAL_FIFO_EVENT_CLASS] = "Virtual FIFO Event Class",
112267
};
113268

114269
/*****************************************************************************
115270
* Telemetry Timestamp Class (01h) Event ID's and Strings
116271
*****************************************************************************/
117272
enum TELEMETRY_TIMESTAMP_EVENT_ID {
118-
TIMESTAMP_HOST_CMD_ISSUED = 0x0000,
119-
TIMESTAMP_SNAPSHOT = 0x0001,
120-
TIMESTAMP_POWER_ON_HOURS = 0x0002,
273+
TIMESTAMP_FEATURE_HOST_ISSUED = 0x0000,
274+
TIMESTAMP_FW_INTIATED_SNAPSHOT = 0x0001,
275+
TIMESTAMP_OBSOLETE = 0x0002,
121276
};
122277

123278
static const char * const telemetry_timestamp_event_id_str[] = {
124-
[TIMESTAMP_HOST_CMD_ISSUED] = "Timestamp Host Cmd Issued",
125-
[TIMESTAMP_SNAPSHOT] = "Timestamp Snapshot",
126-
[TIMESTAMP_POWER_ON_HOURS] = "Timestamp Power on Hours",
279+
[TIMESTAMP_FEATURE_HOST_ISSUED] = "Host Issued Timestamp Set Feature Cmd",
280+
[TIMESTAMP_FW_INTIATED_SNAPSHOT] = "Fw Initiated Timestamp Snapshot",
281+
[TIMESTAMP_OBSOLETE] = "TimeStamp Obsolete",
127282
};
128283

129284
/*****************************************************************************
@@ -217,6 +372,8 @@ enum TELEMETRY_NVME_EVENT_ID {
217372
CC_REGISTER_CHANGED = 0x000B,
218373
CSTS_REGISTER_CHANGED = 0x000C,
219374
DELETE_IO_QUEUE_PROCESSED = 0x000D,
375+
OOB_COMMAND = 0x000E,
376+
OOB_AER_EVENT_MSG_TRANS = 0x000F
220377
};
221378

222379
static const char * const telemetry_nvme_event_id_str[] = {
@@ -226,14 +383,16 @@ static const char * const telemetry_nvme_event_id_str[] = {
226383
[CSTS_RDY_1_TO_0] = "CSTS.RDY Transitions from 1 to 0",
227384
[NVME_EVENT_ID_RESERVED] = "Reserved NVMe Event ID",
228385
[CREATE_IO_QUEUE_PROCESSED] = "Create IO SQ or CQ Command Processed",
229-
[ADMIN_QUEUE_CMD_PROCESSED] = "Other Admin Queue Command Processed",
386+
[ADMIN_QUEUE_CMD_PROCESSED] = "Inb-Admin Que Cmd Proc other than Cr IO SQ/CQ",
230387
[ADMIN_QUEUE_NONZERO_STATUS] = "Admin Command Returned Non-zero Status",
231388
[IO_QUEUE_NONZERO_STATUS] = "IO Command Returned Non-zero Status",
232389
[CSTS_CFS_0_TO_1] = "CSTS.CFS Transitions from 0 to 1",
233390
[ADMIN_QUEUE_BASE_WRITTEN] = "Admin SQ or CQ Base Address Written",
234391
[CC_REGISTER_CHANGED] = "CC Register Changed",
235-
[CSTS_REGISTER_CHANGED] = "CTS Register Changed",
392+
[CSTS_REGISTER_CHANGED] = "CSTS Register Changed",
236393
[DELETE_IO_QUEUE_PROCESSED] = "Delete IO SQ or CQ Command Processed",
394+
[OOB_COMMAND] = "Out of Band Command Process",
395+
[OOB_AER_EVENT_MSG_TRANS] = "Out of Band AER Event Msg Transition"
237396
};
238397

239398
/*****************************************************************************
@@ -292,7 +451,7 @@ static const char * const telemetry_fw_assert_event_id_str[] = {
292451
[ASSERT_BACKGROUND_CODE] = "Assert in Background Services Code",
293452
[FTL_REBUILD_FAILED] = "FTL Rebuild Failed",
294453
[FTL_DATA_MISMATCH] = "FTL Data Mismatch",
295-
[ASSERT_OTHER_CODE] = "FTL Other Code",
454+
[ASSERT_OTHER_CODE] = "Assert in Other Code",
296455
};
297456

298457
/*****************************************************************************
@@ -342,6 +501,19 @@ static const char * const telemetry_media_wear_event_id_str[] = {
342501
[MEDIA_WEAR] = "Media Wear",
343502
};
344503

504+
/*****************************************************************************
505+
* Telemetry Virtual FIFO (0Bh) Event ID's and Strings
506+
*****************************************************************************/
507+
enum TELEMETRY_VIRTUAL_FIFO_EVENT_ID {
508+
VIRTUAL_FIFO_START = 0x0000,
509+
VIRTUAL_FIFO_END = 0x0002,
510+
};
511+
512+
static const char * const telemetry_virtual_fifo_event_id_str[] = {
513+
[VIRTUAL_FIFO_START] = "Virtual FIFO Start",
514+
[VIRTUAL_FIFO_END] = "Virtual FIFO End",
515+
};
516+
345517

346518
/*****************************************************************************
347519
* Telemetry Data Structures
@@ -380,7 +552,7 @@ struct telemetry_stats_desc {
380552
__u8 info;
381553
__u8 ns_info;
382554
__le16 size;
383-
__le16 rsvd1;
555+
__le16 nsid;
384556
__u8 data[];
385557
};
386558

@@ -1063,6 +1235,10 @@ static inline const char *telemetry_media_wear_event_id_to_string(int event_id)
10631235
{
10641236
return ARGSTR(telemetry_media_wear_event_id_str, event_id);
10651237
}
1238+
static inline const char *telemetry_virtual_fifo_event_id_to_string(int event_id)
1239+
{
1240+
return ARGSTR(telemetry_virtual_fifo_event_id_str, event_id);
1241+
}
10661242

10671243
/**
10681244
* @brief parse the ocp telemetry host or controller log binary file

0 commit comments

Comments
 (0)