Merging upstream version 2.12.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
078c0dbcc0
commit
635faa7346
571 changed files with 10718 additions and 2738 deletions
|
@ -48,6 +48,83 @@ enum TELEMETRY_STATISTIC_ID {
|
|||
TELEMETRY_STAT_ID_MAXDBB = 0x1B, /* Max Die Bad Block */
|
||||
TELEMETRY_STAT_ID_MAXCBB = 0x1C, /* Max NAND Channel Bad Block */
|
||||
TELEMETRY_STAT_ID_MINCBB = 0x1D, /* Min NAND Channel Bad Block */
|
||||
TELEMETRY_STAT_ID_PMUW = 0x1E, /* Physical Media Units Written */
|
||||
TELEMETRY_STAT_ID_PMUR = 0x1F, /* Physical Media Units Read */
|
||||
TELEMETRY_STAT_ID_BUNB = 0x20, /* Bad User NAND Blocks */
|
||||
TELEMETRY_STAT_ID_BSNB = 0x21, /* Bad System NAND Blocks */
|
||||
TELEMETRY_STAT_ID_XORRC = 0x22, /* XOR Recovery Count */
|
||||
TELEMETRY_STAT_ID_UNREC = 0x23, /* Uncorrectable Read Error Count */
|
||||
TELEMETRY_STAT_ID_SECCEC = 0x24, /* Soft ECC Error Count */
|
||||
TELEMETRY_STAT_ID_ETOECC = 0x25, /* End To End Correction Counts */
|
||||
TELEMETRY_STAT_ID_SDU = 0x26, /* System Data % Used */
|
||||
TELEMETRY_STAT_ID_RC = 0x27, /* Refresh Count */
|
||||
TELEMETRY_STAT_ID_UDEC = 0x28, /* User Data Erase Counts */
|
||||
TELEMETRY_STAT_ID_TTSC = 0x29, /* Thremal Throttling Status and Count */
|
||||
TELEMETRY_STAT_ID_DSSDSV = 0x2A, /* DSSD Specification Version */
|
||||
TELEMETRY_STAT_ID_PCIECEC = 0x2B, /* PCIe Correctable Error Count */
|
||||
TELEMETRY_STAT_ID_IS = 0x2C, /* Incomplete Shutdown */
|
||||
TELEMETRY_STAT_ID_FB = 0x2D, /* % Free Block */
|
||||
TELEMETRY_STAT_ID_CH = 0x2E, /* Capacitor Health */
|
||||
TELEMETRY_STAT_ID_NVMEBEV = 0x2F, /* NVM Express Base Errata Version */
|
||||
TELEMETRY_STAT_ID_NVMCSEV = 0x30, /* NVM Command Set Errata Version */
|
||||
TELEMETRY_STAT_ID_NVMEMIEV = 0x31, /* NVM Exp Mgmt Interface Err Version */
|
||||
TELEMETRY_STAT_ID_UIO = 0x32, /* Unaligned IO */
|
||||
TELEMETRY_STAT_ID_SVN = 0x33, /* Security Version Number */
|
||||
TELEMETRY_STAT_ID_TNUSE = 0x34, /* Total NUSE */
|
||||
TELEMETRY_STAT_ID_PLPSC = 0x35, /* PLP Start Count */
|
||||
TELEMETRY_STAT_ID_EE = 0x36, /* Endurance Estimate */
|
||||
TELEMETRY_STAT_ID_PCIELRC = 0x37, /* PCIe Link Retraining Count */
|
||||
TELEMETRY_STAT_ID_PSCC = 0x38, /* Power State Change Count */
|
||||
TELEMETRY_STAT_ID_LPFR = 0x39, /* Lowest Permitted Firmware Revision */
|
||||
TELEMETRY_STAT_ID_LPV = 0x3A, /* Log Page Version */
|
||||
TELEMETRY_STAT_ID_MDO = 0x3B, /* Media Dies Offline */
|
||||
TELEMETRY_STAT_ID_MTR = 0x3C, /* Max Temperature Recorded */
|
||||
TELEMETRY_STAT_ID_NAEC = 0x3D, /* Nand Avg Erase Count */
|
||||
TELEMETRY_STAT_ID_CT = 0x3E, /* Command Timeout */
|
||||
TELEMETRY_STAT_ID_SAPFC = 0x3F, /* System Area Program Fail Count */
|
||||
TELEMETRY_STAT_ID_SARFC = 0x40, /* System Area Read Fail Count */
|
||||
TELEMETRY_STAT_ID_SAEFC = 0x41, /* System Area Erase Fail Count */
|
||||
TELEMETRY_STAT_ID_MPPC = 0x42, /* Max Peak Power Capability */
|
||||
TELEMETRY_STAT_ID_CMAP = 0x43, /* Current Max Average Power */
|
||||
TELEMETRY_STAT_ID_LPC = 0x44, /* Lifetime Power Consumed */
|
||||
TELEMETRY_STAT_ID_PAC = 0x45, /* Panic Asset Count */
|
||||
TELEMETRY_STAT_ID_DBT = 0x46, /* Device Busy Time */
|
||||
TELEMETRY_STAT_ID_CW = 0x47, /* Critical Warning */
|
||||
TELEMETRY_STAT_ID_COMTEMP = 0x48, /* Composite Temperature */
|
||||
TELEMETRY_STAT_ID_AS = 0x49, /* Available Spare */
|
||||
TELEMETRY_STAT_ID_AST = 0x4A, /* Available Spare Threshold */
|
||||
TELEMETRY_STAT_ID_PU = 0x4B, /* Percentage Used */
|
||||
TELEMETRY_STAT_ID_EGCWS = 0x4C, /* Endurance Gp CW Summary */
|
||||
TELEMETRY_STAT_ID_DUR = 0x4D, /* Data Units Read */
|
||||
TELEMETRY_STAT_ID_DUW = 0x4E, /* Data Units Written */
|
||||
TELEMETRY_STAT_ID_HRC = 0x4F, /* Host Read Commands */
|
||||
TELEMETRY_STAT_ID_HWC = 0x50, /* Host Write Commands */
|
||||
TELEMETRY_STAT_ID_CBT = 0x51, /* Controller Busy Time */
|
||||
TELEMETRY_STAT_ID_PC = 0x52, /* Power Cycles */
|
||||
TELEMETRY_STAT_ID_POH = 0x53, /* Power On Hours */
|
||||
TELEMETRY_STAT_ID_US = 0x54, /* Unsafe Shutdowns */
|
||||
TELEMETRY_STAT_ID_MDIE = 0x55, /* Media and Data Integrity Er */
|
||||
TELEMETRY_STAT_ID_NEILE = 0x56, /* No of Error Info Entries */
|
||||
TELEMETRY_STAT_ID_WCTT = 0x57, /* Warning Composite Temp Time */
|
||||
TELEMETRY_STAT_ID_CCTT = 0x58, /* Critical Comp Temp Time */
|
||||
TELEMETRY_STAT_ID_TS1 = 0x59, /* Temperature Sensor 1 */
|
||||
TELEMETRY_STAT_ID_TS2 = 0x5A, /* Temperature Sensor 2 */
|
||||
TELEMETRY_STAT_ID_TS3 = 0x5B, /* Temperature Sensor 3 */
|
||||
TELEMETRY_STAT_ID_TS4 = 0x5C, /* Temperature Sensor 4 */
|
||||
TELEMETRY_STAT_ID_TS5 = 0x5D, /* Temperature Sensor 5 */
|
||||
TELEMETRY_STAT_ID_TS6 = 0x5E, /* Temperature Sensor 6 */
|
||||
TELEMETRY_STAT_ID_TS7 = 0x5F, /* Temperature Sensor 7 */
|
||||
TELEMETRY_STAT_ID_TS8 = 0x60, /* Temperature Sensor 8 */
|
||||
TELEMETRY_STAT_ID_TMT1TC = 0x61, /* Thermal Mgmt Temp1 TC */
|
||||
TELEMETRY_STAT_ID_TMT2TC = 0x62, /* Thermal Mgmt Temp2 TC */
|
||||
TELEMETRY_STAT_ID_TTTMT1 = 0x63, /* Total Time TMT1 */
|
||||
TELEMETRY_STAT_ID_TTTMT2 = 0x64, /* Total Time TMT2 */
|
||||
TELEMETRY_STAT_ID_EEE = 0x65, /* Endurance Estimate */
|
||||
TELEMETRY_STAT_ID_EDUR = 0x66, /* Endurance Data Units Read */
|
||||
TELEMETRY_STAT_ID_EDUW = 0x67, /* Endurance Data Units Written */
|
||||
TELEMETRY_STAT_ID_EMUW = 0x68, /* Endurance Media Units Written */
|
||||
TELEMETRY_STAT_ID_ENEILE = 0x69, /* Endurance No Of Err Info Log Entries */
|
||||
|
||||
};
|
||||
|
||||
static const char * const telemetry_stat_id_str[] = {
|
||||
|
@ -80,50 +157,128 @@ static const char * const telemetry_stat_id_str[] = {
|
|||
[TELEMETRY_STAT_ID_MAXDBB] = "Max Die Bad Block",
|
||||
[TELEMETRY_STAT_ID_MAXCBB] = "Max NAND Channel Bad Block",
|
||||
[TELEMETRY_STAT_ID_MINCBB] = "Min NAND Channel Bad Block",
|
||||
[TELEMETRY_STAT_ID_PMUW] = "Physical Media Units Written",
|
||||
[TELEMETRY_STAT_ID_PMUR] = "Physical Media Units Read",
|
||||
[TELEMETRY_STAT_ID_BUNB] = "Bad User NAND Blocks",
|
||||
[TELEMETRY_STAT_ID_BSNB] = "Bad System NAND Blocks",
|
||||
[TELEMETRY_STAT_ID_XORRC] = "XOR Recovery Count",
|
||||
[TELEMETRY_STAT_ID_UNREC] = "Uncorrectable Read Error Count",
|
||||
[TELEMETRY_STAT_ID_SECCEC] = "Soft ECC Error Count",
|
||||
[TELEMETRY_STAT_ID_ETOECC] = "End To End Correction Counts",
|
||||
[TELEMETRY_STAT_ID_SDU] = "System Data Used",
|
||||
[TELEMETRY_STAT_ID_RC] = "Refresh Count",
|
||||
[TELEMETRY_STAT_ID_UDEC] = "User Data Erase Counts",
|
||||
[TELEMETRY_STAT_ID_TTSC] = "Thremal Throttling Status and Count",
|
||||
[TELEMETRY_STAT_ID_DSSDSV] = "DSSD Specification Version",
|
||||
[TELEMETRY_STAT_ID_PCIECEC] = "PCIe Correctable Error Count",
|
||||
[TELEMETRY_STAT_ID_IS] = "Incomplete Shutdown",
|
||||
[TELEMETRY_STAT_ID_FB] = "Free Block",
|
||||
[TELEMETRY_STAT_ID_CH] = "Capacitor Health",
|
||||
[TELEMETRY_STAT_ID_NVMEBEV] = "NVM Express Base Errata Version",
|
||||
[TELEMETRY_STAT_ID_NVMCSEV] = "NVM Command Set Errata Version",
|
||||
[TELEMETRY_STAT_ID_NVMEMIEV] = "NVM Express Management Interface Errata Version",
|
||||
[TELEMETRY_STAT_ID_UIO] = "Unaligned IO",
|
||||
[TELEMETRY_STAT_ID_SVN] = "Security Version Number",
|
||||
[TELEMETRY_STAT_ID_TNUSE] = "Total NUSE",
|
||||
[TELEMETRY_STAT_ID_PLPSC] = "PLP Start Count",
|
||||
[TELEMETRY_STAT_ID_EE] = "Endurance Estimate",
|
||||
[TELEMETRY_STAT_ID_PCIELRC] = "PCIe Link Retraining Count",
|
||||
[TELEMETRY_STAT_ID_PSCC] = "Power State Change Count",
|
||||
[TELEMETRY_STAT_ID_LPFR] = "Lowest Permitted Firmware Revision",
|
||||
[TELEMETRY_STAT_ID_LPV] = "Log Page Version",
|
||||
[TELEMETRY_STAT_ID_MDO] = "Media Dies Offline",
|
||||
[TELEMETRY_STAT_ID_MTR] = "Max Temperature Recorded",
|
||||
[TELEMETRY_STAT_ID_NAEC] = "Nand Avg Erase Count",
|
||||
[TELEMETRY_STAT_ID_CT] = "Command Timeout",
|
||||
[TELEMETRY_STAT_ID_SAPFC] = "System Area Program Fail Count",
|
||||
[TELEMETRY_STAT_ID_SARFC] = "System Area Read Fail Count",
|
||||
[TELEMETRY_STAT_ID_SAEFC] = "System Area Erase Fail Count",
|
||||
[TELEMETRY_STAT_ID_MPPC] = "Max Peak Power Capability",
|
||||
[TELEMETRY_STAT_ID_CMAP] = "Current Max Average Power",
|
||||
[TELEMETRY_STAT_ID_LPC] = "Lifetime Power Consumed",
|
||||
[TELEMETRY_STAT_ID_PAC] = "Panic Asset Count",
|
||||
[TELEMETRY_STAT_ID_DBT] = "Device Busy Time",
|
||||
[TELEMETRY_STAT_ID_CW] = "Critical Warning",
|
||||
[TELEMETRY_STAT_ID_COMTEMP] = "Composite Temperature",
|
||||
[TELEMETRY_STAT_ID_AS] = "Available Spare",
|
||||
[TELEMETRY_STAT_ID_AST] = "Available Spare Threshold",
|
||||
[TELEMETRY_STAT_ID_PU] = "Percentage Used",
|
||||
[TELEMETRY_STAT_ID_EGCWS] = "Endurance Gp CW Summary",
|
||||
[TELEMETRY_STAT_ID_DUR] = "Data Units Read",
|
||||
[TELEMETRY_STAT_ID_DUW] = "Data Units Written",
|
||||
[TELEMETRY_STAT_ID_HRC] = "Host Read Commands",
|
||||
[TELEMETRY_STAT_ID_HWC] = "Host Write Commands",
|
||||
[TELEMETRY_STAT_ID_CBT] = "Controller Busy Time",
|
||||
[TELEMETRY_STAT_ID_PC] = "Power Cycles",
|
||||
[TELEMETRY_STAT_ID_POH] = "Power On Hours",
|
||||
[TELEMETRY_STAT_ID_US] = "Unsafe Shutdowns",
|
||||
[TELEMETRY_STAT_ID_MDIE] = "Media and Data Integrity Er",
|
||||
[TELEMETRY_STAT_ID_NEILE] = "No of Error Info Entries",
|
||||
[TELEMETRY_STAT_ID_WCTT] = "Warning Composite Temp Time",
|
||||
[TELEMETRY_STAT_ID_CCTT] = "Critical Comp Temp Time",
|
||||
[TELEMETRY_STAT_ID_TS1] = "Temperature Sensor 1",
|
||||
[TELEMETRY_STAT_ID_TS2] = "Temperature Sensor 2",
|
||||
[TELEMETRY_STAT_ID_TS3] = "Temperature Sensor 3",
|
||||
[TELEMETRY_STAT_ID_TS4] = "Temperature Sensor 4",
|
||||
[TELEMETRY_STAT_ID_TS5] = "Temperature Sensor 5",
|
||||
[TELEMETRY_STAT_ID_TS6] = "Temperature Sensor 6",
|
||||
[TELEMETRY_STAT_ID_TS7] = "Temperature Sensor 7",
|
||||
[TELEMETRY_STAT_ID_TS8] = "Temperature Sensor 8",
|
||||
[TELEMETRY_STAT_ID_TMT1TC] = "Thermal Mgmt Temp1 TC",
|
||||
[TELEMETRY_STAT_ID_TMT2TC] = "Thermal Mgmt Temp2 TC",
|
||||
[TELEMETRY_STAT_ID_TTTMT1] = "Total Time TMT1",
|
||||
[TELEMETRY_STAT_ID_TTTMT2] = "Total Time TMT2",
|
||||
[TELEMETRY_STAT_ID_EEE] = "Endurance Estimate",
|
||||
[TELEMETRY_STAT_ID_EDUR] = "Endurance Data Units Read",
|
||||
[TELEMETRY_STAT_ID_EDUW] = "Endurance Data Units Written",
|
||||
[TELEMETRY_STAT_ID_EMUW] = "Endurance Media Units Written",
|
||||
[TELEMETRY_STAT_ID_ENEILE] = "Endurance No Of Err Info Log Entries",
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* Telemetry FIFO Event Class ID's and Strings
|
||||
*****************************************************************************/
|
||||
enum TELEMETRY_EVENT_CLASS_TYPE {
|
||||
TELEMETRY_TIMESTAMP_CLASS = 0x1,
|
||||
TELEMETRY_PCIE_CLASS = 0x2,
|
||||
TELEMETRY_NVME_CLASS = 0x3,
|
||||
TELEMETRY_RESET_CLASS = 0x4,
|
||||
TELEMETRY_BOOT_SEQ_CLASS = 0x5,
|
||||
TELEMETRY_FW_ASSERT_CLASS = 0x6,
|
||||
TELEMETRY_TEMPERATURE_CLASS = 0x7,
|
||||
TELEMETRY_MEDIA_DBG_CLASS = 0x8,
|
||||
TELEMETRY_MEDIA_WEAR_CLASS = 0x9,
|
||||
TELEMETRY_STAT_SNAPSHOT_CLASS = 0xA,
|
||||
TELEMETRY_TIMESTAMP_CLASS = 0x1,
|
||||
TELEMETRY_PCIE_CLASS = 0x2,
|
||||
TELEMETRY_NVME_CLASS = 0x3,
|
||||
TELEMETRY_RESET_CLASS = 0x4,
|
||||
TELEMETRY_BOOT_SEQ_CLASS = 0x5,
|
||||
TELEMETRY_FW_ASSERT_CLASS = 0x6,
|
||||
TELEMETRY_TEMPERATURE_CLASS = 0x7,
|
||||
TELEMETRY_MEDIA_DBG_CLASS = 0x8,
|
||||
TELEMETRY_MEDIA_WEAR_CLASS = 0x9,
|
||||
TELEMETRY_STAT_SNAPSHOT_CLASS = 0xA,
|
||||
TELEMETRY_VIRTUAL_FIFO_EVENT_CLASS = 0xB,
|
||||
};
|
||||
|
||||
static const char * const telemetry_event_class_str[] = {
|
||||
[TELEMETRY_TIMESTAMP_CLASS] = "Timestamp Class",
|
||||
[TELEMETRY_PCIE_CLASS] = "PCIe Class",
|
||||
[TELEMETRY_NVME_CLASS] = "NVMe Class",
|
||||
[TELEMETRY_RESET_CLASS] = "Reset Class",
|
||||
[TELEMETRY_BOOT_SEQ_CLASS] = "Boot Sequence Class",
|
||||
[TELEMETRY_FW_ASSERT_CLASS] = "FW Assert Class",
|
||||
[TELEMETRY_TEMPERATURE_CLASS] = "Temperature Class",
|
||||
[TELEMETRY_MEDIA_DBG_CLASS] = "Media Debug Class",
|
||||
[TELEMETRY_MEDIA_WEAR_CLASS] = "Media Wear Class",
|
||||
[TELEMETRY_STAT_SNAPSHOT_CLASS] = "Statistic Snapshot Class",
|
||||
[TELEMETRY_TIMESTAMP_CLASS] = "Timestamp Class",
|
||||
[TELEMETRY_PCIE_CLASS] = "PCIe Class",
|
||||
[TELEMETRY_NVME_CLASS] = "NVMe Class",
|
||||
[TELEMETRY_RESET_CLASS] = "Reset Class",
|
||||
[TELEMETRY_BOOT_SEQ_CLASS] = "Boot Sequence Class",
|
||||
[TELEMETRY_FW_ASSERT_CLASS] = "FW Assert Class",
|
||||
[TELEMETRY_TEMPERATURE_CLASS] = "Temperature Class",
|
||||
[TELEMETRY_MEDIA_DBG_CLASS] = "Media Debug Class",
|
||||
[TELEMETRY_MEDIA_WEAR_CLASS] = "Media Wear Class",
|
||||
[TELEMETRY_STAT_SNAPSHOT_CLASS] = "Statistic Snapshot Class",
|
||||
[TELEMETRY_VIRTUAL_FIFO_EVENT_CLASS] = "Virtual FIFO Event Class",
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* Telemetry Timestamp Class (01h) Event ID's and Strings
|
||||
*****************************************************************************/
|
||||
enum TELEMETRY_TIMESTAMP_EVENT_ID {
|
||||
TIMESTAMP_HOST_CMD_ISSUED = 0x0000,
|
||||
TIMESTAMP_SNAPSHOT = 0x0001,
|
||||
TIMESTAMP_POWER_ON_HOURS = 0x0002,
|
||||
TIMESTAMP_FEATURE_HOST_ISSUED = 0x0000,
|
||||
TIMESTAMP_FW_INTIATED_SNAPSHOT = 0x0001,
|
||||
TIMESTAMP_OBSOLETE = 0x0002,
|
||||
};
|
||||
|
||||
static const char * const telemetry_timestamp_event_id_str[] = {
|
||||
[TIMESTAMP_HOST_CMD_ISSUED] = "Timestamp Host Cmd Issued",
|
||||
[TIMESTAMP_SNAPSHOT] = "Timestamp Snapshot",
|
||||
[TIMESTAMP_POWER_ON_HOURS] = "Timestamp Power on Hours",
|
||||
[TIMESTAMP_FEATURE_HOST_ISSUED] = "Host Issued Timestamp Set Feature Cmd",
|
||||
[TIMESTAMP_FW_INTIATED_SNAPSHOT] = "Fw Initiated Timestamp Snapshot",
|
||||
[TIMESTAMP_OBSOLETE] = "TimeStamp Obsolete",
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -217,6 +372,8 @@ enum TELEMETRY_NVME_EVENT_ID {
|
|||
CC_REGISTER_CHANGED = 0x000B,
|
||||
CSTS_REGISTER_CHANGED = 0x000C,
|
||||
DELETE_IO_QUEUE_PROCESSED = 0x000D,
|
||||
OOB_COMMAND = 0x000E,
|
||||
OOB_AER_EVENT_MSG_TRANS = 0x000F
|
||||
};
|
||||
|
||||
static const char * const telemetry_nvme_event_id_str[] = {
|
||||
|
@ -226,14 +383,16 @@ static const char * const telemetry_nvme_event_id_str[] = {
|
|||
[CSTS_RDY_1_TO_0] = "CSTS.RDY Transitions from 1 to 0",
|
||||
[NVME_EVENT_ID_RESERVED] = "Reserved NVMe Event ID",
|
||||
[CREATE_IO_QUEUE_PROCESSED] = "Create IO SQ or CQ Command Processed",
|
||||
[ADMIN_QUEUE_CMD_PROCESSED] = "Other Admin Queue Command Processed",
|
||||
[ADMIN_QUEUE_CMD_PROCESSED] = "Inb-Admin Que Cmd Proc other than Cr IO SQ/CQ",
|
||||
[ADMIN_QUEUE_NONZERO_STATUS] = "Admin Command Returned Non-zero Status",
|
||||
[IO_QUEUE_NONZERO_STATUS] = "IO Command Returned Non-zero Status",
|
||||
[CSTS_CFS_0_TO_1] = "CSTS.CFS Transitions from 0 to 1",
|
||||
[ADMIN_QUEUE_BASE_WRITTEN] = "Admin SQ or CQ Base Address Written",
|
||||
[CC_REGISTER_CHANGED] = "CC Register Changed",
|
||||
[CSTS_REGISTER_CHANGED] = "CTS Register Changed",
|
||||
[CSTS_REGISTER_CHANGED] = "CSTS Register Changed",
|
||||
[DELETE_IO_QUEUE_PROCESSED] = "Delete IO SQ or CQ Command Processed",
|
||||
[OOB_COMMAND] = "Out of Band Command Process",
|
||||
[OOB_AER_EVENT_MSG_TRANS] = "Out of Band AER Event Msg Transition"
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -292,7 +451,7 @@ static const char * const telemetry_fw_assert_event_id_str[] = {
|
|||
[ASSERT_BACKGROUND_CODE] = "Assert in Background Services Code",
|
||||
[FTL_REBUILD_FAILED] = "FTL Rebuild Failed",
|
||||
[FTL_DATA_MISMATCH] = "FTL Data Mismatch",
|
||||
[ASSERT_OTHER_CODE] = "FTL Other Code",
|
||||
[ASSERT_OTHER_CODE] = "Assert in Other Code",
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -342,6 +501,19 @@ static const char * const telemetry_media_wear_event_id_str[] = {
|
|||
[MEDIA_WEAR] = "Media Wear",
|
||||
};
|
||||
|
||||
/*****************************************************************************
|
||||
* Telemetry Virtual FIFO (0Bh) Event ID's and Strings
|
||||
*****************************************************************************/
|
||||
enum TELEMETRY_VIRTUAL_FIFO_EVENT_ID {
|
||||
VIRTUAL_FIFO_START = 0x0000,
|
||||
VIRTUAL_FIFO_END = 0x0002,
|
||||
};
|
||||
|
||||
static const char * const telemetry_virtual_fifo_event_id_str[] = {
|
||||
[VIRTUAL_FIFO_START] = "Virtual FIFO Start",
|
||||
[VIRTUAL_FIFO_END] = "Virtual FIFO End",
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Telemetry Data Structures
|
||||
|
@ -353,7 +525,6 @@ static const char * const telemetry_media_wear_event_id_str[] = {
|
|||
#define FILE_NAME_SIZE 2048
|
||||
|
||||
enum TELEMETRY_TYPE {
|
||||
TELEMETRY_TYPE_NONE = 0,
|
||||
TELEMETRY_TYPE_HOST = 7,
|
||||
TELEMETRY_TYPE_CONTROLLER = 8,
|
||||
TELEMETRY_TYPE_HOST_0 = 9,
|
||||
|
@ -381,7 +552,7 @@ struct telemetry_stats_desc {
|
|||
__u8 info;
|
||||
__u8 ns_info;
|
||||
__le16 size;
|
||||
__le16 rsvd1;
|
||||
__le16 nsid;
|
||||
__u8 data[];
|
||||
};
|
||||
|
||||
|
@ -438,7 +609,6 @@ struct telemetry_data_area_1 {
|
|||
#define DEFAULT_OUTPUT_FORMAT_JSON "json"
|
||||
|
||||
/* C9 Telemetry String Log Format Log Page */
|
||||
#define C9_TELEMETRY_STRING_LOG_ENABLE_OPCODE 0xC9
|
||||
#define C9_TELEMETRY_STR_LOG_LEN 432
|
||||
#define C9_TELEMETRY_STR_LOG_SIST_OFST 431
|
||||
|
||||
|
@ -460,6 +630,12 @@ struct telemetry_data_area_1 {
|
|||
#define STR_STATISTICS_DATA_SIZE "Statistic Data Size"
|
||||
#define STR_RESERVED "Reserved"
|
||||
#define STR_STATISTICS_SPECIFIC_DATA "Statistic Specific Data"
|
||||
#define STR_STATISTICS_WORST_DIE_PERCENT "Worst die % of bad blocks"
|
||||
#define STR_STATISTICS_WORST_DIE_RAW "Worst die raw number of bad blocks"
|
||||
#define STR_STATISTICS_WORST_NAND_CHANNEL_PERCENT "Worst NAND channel % of bad blocks"
|
||||
#define STR_STATISTICS_WORST_NAND_CHANNEL_RAW "Worst NAND channel number of bad blocks"
|
||||
#define STR_STATISTICS_BEST_NAND_CHANNEL_PERCENT "Best NAND channel % of bad blocks"
|
||||
#define STR_STATISTICS_BEST_NAND_CHANNEL_RAW "Best NAND channel number of bad blocks"
|
||||
#define STR_CLASS_SPECIFIC_DATA "Class Specific Data"
|
||||
#define STR_DBG_EVENT_CLASS_TYPE "Debug Event Class type"
|
||||
#define STR_EVENT_IDENTIFIER "Event Identifier"
|
||||
|
@ -497,6 +673,47 @@ enum ocp_telemetry_string_tables {
|
|||
VU_EVENT_STRING
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ocp_telemetry_statistics_identifiers - OCP Statistics Identifiers
|
||||
*/
|
||||
enum ocp_telemetry_statistic_identifiers {
|
||||
STATISTICS_RESERVED_ID = 0x00,
|
||||
OUTSTANDING_ADMIN_CMDS_ID = 0x01,
|
||||
HOST_WRTIE_BANDWIDTH_ID = 0x02,
|
||||
GW_WRITE_BANDWITH_ID = 0x03,
|
||||
ACTIVE_NAMESPACES_ID = 0x04,
|
||||
INTERNAL_WRITE_WORKLOAD_ID = 0x05,
|
||||
INTERNAL_READ_WORKLOAD_ID = 0x06,
|
||||
INTERNAL_WRITE_QUEUE_DEPTH_ID = 0x07,
|
||||
INTERNAL_READ_QUEUE_DEPTH_ID = 0x08,
|
||||
PENDING_TRIM_LBA_COUNT_ID = 0x09,
|
||||
HOST_TRIM_LBA_REQUEST_COUNT_ID = 0x0A,
|
||||
CURRENT_NVME_POWER_STATE_ID = 0x0B,
|
||||
CURRENT_DSSD_POWER_STATE_ID = 0x0C,
|
||||
PROGRAM_FAIL_COUNT_ID = 0x0D,
|
||||
ERASE_FAIL_COUNT_ID = 0x0E,
|
||||
READ_DISTURB_WRITES_ID = 0x0F,
|
||||
|
||||
RETENTION_WRITES_ID = 0x10,
|
||||
WEAR_LEVELING_WRITES_ID = 0x11,
|
||||
READ_RECOVERY_WRITES_ID = 0x12,
|
||||
GC_WRITES_ID = 0x13,
|
||||
SRAM_CORRECTABLE_COUNT_ID = 0x14,
|
||||
DRAM_CORRECTABLE_COUNT_ID = 0x15,
|
||||
SRAM_UNCORRECTABLE_COUNT_ID = 0x16,
|
||||
DRAM_UNCORRECTABLE_COUNT_ID = 0x17,
|
||||
DATA_INTEGRITY_ERROR_COUNT_ID = 0x18,
|
||||
READ_RETRY_ERROR_COUNT_ID = 0x19,
|
||||
PERST_EVENTS_COUNT_ID = 0x1A,
|
||||
MAX_DIE_BAD_BLOCK_ID = 0x1B,
|
||||
MAX_NAND_CHANNEL_BAD_BLOCK_ID = 0x1C,
|
||||
MIN_NAND_CHANNEL_BAD_BLOCK_ID = 0x1D,
|
||||
|
||||
//RESERVED = 7FFFh-1Eh,
|
||||
//VENDOR_UNIQUE_CLASS_TYPE = FFFFh-8000h,
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* enum ocp_telemetry_debug_event_class_types - OCP Debug Event Class types
|
||||
* @RESERVED_CLASS_TYPE: Reserved class
|
||||
|
@ -1018,6 +1235,10 @@ static inline const char *telemetry_media_wear_event_id_to_string(int event_id)
|
|||
{
|
||||
return ARGSTR(telemetry_media_wear_event_id_str, event_id);
|
||||
}
|
||||
static inline const char *telemetry_virtual_fifo_event_id_to_string(int event_id)
|
||||
{
|
||||
return ARGSTR(telemetry_virtual_fifo_event_id_str, event_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief parse the ocp telemetry host or controller log binary file
|
||||
|
@ -1129,7 +1350,7 @@ int print_ocp_telemetry_json(struct ocp_telemetry_parse_options *options);
|
|||
*
|
||||
* @return 0 success
|
||||
*/
|
||||
int get_static_id_ascii_string(int identifier, char *description);
|
||||
int get_statistic_id_ascii_string(int identifier, char *description);
|
||||
|
||||
/**
|
||||
* @brief gets event id ascii string
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue