cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hclge_debugfs.h (20538B)


      1/* SPDX-License-Identifier: GPL-2.0+ */
      2/* Copyright (c) 2018-2019 Hisilicon Limited. */
      3
      4#ifndef __HCLGE_DEBUGFS_H
      5#define __HCLGE_DEBUGFS_H
      6
      7#include <linux/etherdevice.h>
      8#include "hclge_cmd.h"
      9
     10#define HCLGE_DBG_MNG_TBL_MAX	   64
     11
     12#define HCLGE_DBG_MNG_VLAN_MASK_B  BIT(0)
     13#define HCLGE_DBG_MNG_MAC_MASK_B   BIT(1)
     14#define HCLGE_DBG_MNG_ETHER_MASK_B BIT(2)
     15#define HCLGE_DBG_MNG_E_TYPE_B	   BIT(11)
     16#define HCLGE_DBG_MNG_DROP_B	   BIT(13)
     17#define HCLGE_DBG_MNG_VLAN_TAG	   0x0FFF
     18#define HCLGE_DBG_MNG_PF_ID	   0x0007
     19#define HCLGE_DBG_MNG_VF_ID	   0x00FF
     20
     21/* Get DFX BD number offset */
     22#define HCLGE_DBG_DFX_BIOS_OFFSET  1
     23#define HCLGE_DBG_DFX_SSU_0_OFFSET 2
     24#define HCLGE_DBG_DFX_SSU_1_OFFSET 3
     25#define HCLGE_DBG_DFX_IGU_OFFSET   4
     26#define HCLGE_DBG_DFX_RPU_0_OFFSET 5
     27
     28#define HCLGE_DBG_DFX_RPU_1_OFFSET 6
     29#define HCLGE_DBG_DFX_NCSI_OFFSET  7
     30#define HCLGE_DBG_DFX_RTC_OFFSET   8
     31#define HCLGE_DBG_DFX_PPP_OFFSET   9
     32#define HCLGE_DBG_DFX_RCB_OFFSET   10
     33#define HCLGE_DBG_DFX_TQP_OFFSET   11
     34
     35#define HCLGE_DBG_DFX_SSU_2_OFFSET 12
     36
     37struct hclge_qos_pri_map_cmd {
     38	u8 pri0_tc  : 4,
     39	   pri1_tc  : 4;
     40	u8 pri2_tc  : 4,
     41	   pri3_tc  : 4;
     42	u8 pri4_tc  : 4,
     43	   pri5_tc  : 4;
     44	u8 pri6_tc  : 4,
     45	   pri7_tc  : 4;
     46	u8 vlan_pri : 4,
     47	   rev	    : 4;
     48};
     49
     50struct hclge_dbg_bitmap_cmd {
     51	union {
     52		u8 bitmap;
     53		struct {
     54			u8 bit0 : 1,
     55			   bit1 : 1,
     56			   bit2 : 1,
     57			   bit3 : 1,
     58			   bit4 : 1,
     59			   bit5 : 1,
     60			   bit6 : 1,
     61			   bit7 : 1;
     62		};
     63	};
     64};
     65
     66struct hclge_dbg_reg_common_msg {
     67	int msg_num;
     68	int offset;
     69	enum hclge_opcode_type cmd;
     70};
     71
     72struct hclge_dbg_tcam_msg {
     73	u8 stage;
     74	u32 loc;
     75};
     76
     77#define	HCLGE_DBG_MAX_DFX_MSG_LEN	60
     78struct hclge_dbg_dfx_message {
     79	int flag;
     80	char message[HCLGE_DBG_MAX_DFX_MSG_LEN];
     81};
     82
     83#define HCLGE_DBG_MAC_REG_TYPE_LEN	32
     84struct hclge_dbg_reg_type_info {
     85	enum hnae3_dbg_cmd cmd;
     86	const struct hclge_dbg_dfx_message *dfx_msg;
     87	struct hclge_dbg_reg_common_msg reg_msg;
     88};
     89
     90struct hclge_dbg_func {
     91	enum hnae3_dbg_cmd cmd;
     92	int (*dbg_dump)(struct hclge_dev *hdev, char *buf, int len);
     93	int (*dbg_dump_reg)(struct hclge_dev *hdev, enum hnae3_dbg_cmd cmd,
     94			    char *buf, int len);
     95};
     96
     97struct hclge_dbg_status_dfx_info {
     98	u32  offset;
     99	char message[HCLGE_DBG_MAX_DFX_MSG_LEN];
    100};
    101
    102static const struct hclge_dbg_dfx_message hclge_dbg_bios_common_reg[] = {
    103	{false, "Reserved"},
    104	{true,	"BP_CPU_STATE"},
    105	{true,	"DFX_MSIX_INFO_NIC_0"},
    106	{true,	"DFX_MSIX_INFO_NIC_1"},
    107	{true,	"DFX_MSIX_INFO_NIC_2"},
    108	{true,	"DFX_MSIX_INFO_NIC_3"},
    109
    110	{true,	"DFX_MSIX_INFO_ROC_0"},
    111	{true,	"DFX_MSIX_INFO_ROC_1"},
    112	{true,	"DFX_MSIX_INFO_ROC_2"},
    113	{true,	"DFX_MSIX_INFO_ROC_3"},
    114	{false, "Reserved"},
    115	{false, "Reserved"},
    116};
    117
    118static const struct hclge_dbg_dfx_message hclge_dbg_ssu_reg_0[] = {
    119	{false, "Reserved"},
    120	{true,	"SSU_ETS_PORT_STATUS"},
    121	{true,	"SSU_ETS_TCG_STATUS"},
    122	{false, "Reserved"},
    123	{false, "Reserved"},
    124	{true,	"SSU_BP_STATUS_0"},
    125
    126	{true,	"SSU_BP_STATUS_1"},
    127	{true,	"SSU_BP_STATUS_2"},
    128	{true,	"SSU_BP_STATUS_3"},
    129	{true,	"SSU_BP_STATUS_4"},
    130	{true,	"SSU_BP_STATUS_5"},
    131	{true,	"SSU_MAC_TX_PFC_IND"},
    132
    133	{true,	"MAC_SSU_RX_PFC_IND"},
    134	{true,	"BTMP_AGEING_ST_B0"},
    135	{true,	"BTMP_AGEING_ST_B1"},
    136	{true,	"BTMP_AGEING_ST_B2"},
    137	{false, "Reserved"},
    138	{false, "Reserved"},
    139
    140	{true,	"FULL_DROP_NUM"},
    141	{true,	"PART_DROP_NUM"},
    142	{true,	"PPP_KEY_DROP_NUM"},
    143	{true,	"PPP_RLT_DROP_NUM"},
    144	{true,	"LO_PRI_UNICAST_RLT_DROP_NUM"},
    145	{true,	"HI_PRI_MULTICAST_RLT_DROP_NUM"},
    146
    147	{true,	"LO_PRI_MULTICAST_RLT_DROP_NUM"},
    148	{true,	"NCSI_PACKET_CURR_BUFFER_CNT"},
    149	{true,	"BTMP_AGEING_RLS_CNT_BANK0"},
    150	{true,	"BTMP_AGEING_RLS_CNT_BANK1"},
    151	{true,	"BTMP_AGEING_RLS_CNT_BANK2"},
    152	{true,	"SSU_MB_RD_RLT_DROP_CNT"},
    153
    154	{true,	"SSU_PPP_MAC_KEY_NUM_L"},
    155	{true,	"SSU_PPP_MAC_KEY_NUM_H"},
    156	{true,	"SSU_PPP_HOST_KEY_NUM_L"},
    157	{true,	"SSU_PPP_HOST_KEY_NUM_H"},
    158	{true,	"PPP_SSU_MAC_RLT_NUM_L"},
    159	{true,	"PPP_SSU_MAC_RLT_NUM_H"},
    160
    161	{true,	"PPP_SSU_HOST_RLT_NUM_L"},
    162	{true,	"PPP_SSU_HOST_RLT_NUM_H"},
    163	{true,	"NCSI_RX_PACKET_IN_CNT_L"},
    164	{true,	"NCSI_RX_PACKET_IN_CNT_H"},
    165	{true,	"NCSI_TX_PACKET_OUT_CNT_L"},
    166	{true,	"NCSI_TX_PACKET_OUT_CNT_H"},
    167
    168	{true,	"SSU_KEY_DROP_NUM"},
    169	{true,	"MB_UNCOPY_NUM"},
    170	{true,	"RX_OQ_DROP_PKT_CNT"},
    171	{true,	"TX_OQ_DROP_PKT_CNT"},
    172	{true,	"BANK_UNBALANCE_DROP_CNT"},
    173	{true,	"BANK_UNBALANCE_RX_DROP_CNT"},
    174
    175	{true,	"NIC_L2_ERR_DROP_PKT_CNT"},
    176	{true,	"ROC_L2_ERR_DROP_PKT_CNT"},
    177	{true,	"NIC_L2_ERR_DROP_PKT_CNT_RX"},
    178	{true,	"ROC_L2_ERR_DROP_PKT_CNT_RX"},
    179	{true,	"RX_OQ_GLB_DROP_PKT_CNT"},
    180	{false, "Reserved"},
    181
    182	{true,	"LO_PRI_UNICAST_CUR_CNT"},
    183	{true,	"HI_PRI_MULTICAST_CUR_CNT"},
    184	{true,	"LO_PRI_MULTICAST_CUR_CNT"},
    185	{false, "Reserved"},
    186	{false, "Reserved"},
    187	{false, "Reserved"},
    188};
    189
    190static const struct hclge_dbg_dfx_message hclge_dbg_ssu_reg_1[] = {
    191	{true,	"prt_id"},
    192	{true,	"PACKET_TC_CURR_BUFFER_CNT_0"},
    193	{true,	"PACKET_TC_CURR_BUFFER_CNT_1"},
    194	{true,	"PACKET_TC_CURR_BUFFER_CNT_2"},
    195	{true,	"PACKET_TC_CURR_BUFFER_CNT_3"},
    196	{true,	"PACKET_TC_CURR_BUFFER_CNT_4"},
    197
    198	{true,	"PACKET_TC_CURR_BUFFER_CNT_5"},
    199	{true,	"PACKET_TC_CURR_BUFFER_CNT_6"},
    200	{true,	"PACKET_TC_CURR_BUFFER_CNT_7"},
    201	{true,	"PACKET_CURR_BUFFER_CNT"},
    202	{false, "Reserved"},
    203	{false, "Reserved"},
    204
    205	{true,	"RX_PACKET_IN_CNT_L"},
    206	{true,	"RX_PACKET_IN_CNT_H"},
    207	{true,	"RX_PACKET_OUT_CNT_L"},
    208	{true,	"RX_PACKET_OUT_CNT_H"},
    209	{true,	"TX_PACKET_IN_CNT_L"},
    210	{true,	"TX_PACKET_IN_CNT_H"},
    211
    212	{true,	"TX_PACKET_OUT_CNT_L"},
    213	{true,	"TX_PACKET_OUT_CNT_H"},
    214	{true,	"ROC_RX_PACKET_IN_CNT_L"},
    215	{true,	"ROC_RX_PACKET_IN_CNT_H"},
    216	{true,	"ROC_TX_PACKET_OUT_CNT_L"},
    217	{true,	"ROC_TX_PACKET_OUT_CNT_H"},
    218
    219	{true,	"RX_PACKET_TC_IN_CNT_0_L"},
    220	{true,	"RX_PACKET_TC_IN_CNT_0_H"},
    221	{true,	"RX_PACKET_TC_IN_CNT_1_L"},
    222	{true,	"RX_PACKET_TC_IN_CNT_1_H"},
    223	{true,	"RX_PACKET_TC_IN_CNT_2_L"},
    224	{true,	"RX_PACKET_TC_IN_CNT_2_H"},
    225
    226	{true,	"RX_PACKET_TC_IN_CNT_3_L"},
    227	{true,	"RX_PACKET_TC_IN_CNT_3_H"},
    228	{true,	"RX_PACKET_TC_IN_CNT_4_L"},
    229	{true,	"RX_PACKET_TC_IN_CNT_4_H"},
    230	{true,	"RX_PACKET_TC_IN_CNT_5_L"},
    231	{true,	"RX_PACKET_TC_IN_CNT_5_H"},
    232
    233	{true,	"RX_PACKET_TC_IN_CNT_6_L"},
    234	{true,	"RX_PACKET_TC_IN_CNT_6_H"},
    235	{true,	"RX_PACKET_TC_IN_CNT_7_L"},
    236	{true,	"RX_PACKET_TC_IN_CNT_7_H"},
    237	{true,	"RX_PACKET_TC_OUT_CNT_0_L"},
    238	{true,	"RX_PACKET_TC_OUT_CNT_0_H"},
    239
    240	{true,	"RX_PACKET_TC_OUT_CNT_1_L"},
    241	{true,	"RX_PACKET_TC_OUT_CNT_1_H"},
    242	{true,	"RX_PACKET_TC_OUT_CNT_2_L"},
    243	{true,	"RX_PACKET_TC_OUT_CNT_2_H"},
    244	{true,	"RX_PACKET_TC_OUT_CNT_3_L"},
    245	{true,	"RX_PACKET_TC_OUT_CNT_3_H"},
    246
    247	{true,	"RX_PACKET_TC_OUT_CNT_4_L"},
    248	{true,	"RX_PACKET_TC_OUT_CNT_4_H"},
    249	{true,	"RX_PACKET_TC_OUT_CNT_5_L"},
    250	{true,	"RX_PACKET_TC_OUT_CNT_5_H"},
    251	{true,	"RX_PACKET_TC_OUT_CNT_6_L"},
    252	{true,	"RX_PACKET_TC_OUT_CNT_6_H"},
    253
    254	{true,	"RX_PACKET_TC_OUT_CNT_7_L"},
    255	{true,	"RX_PACKET_TC_OUT_CNT_7_H"},
    256	{true,	"TX_PACKET_TC_IN_CNT_0_L"},
    257	{true,	"TX_PACKET_TC_IN_CNT_0_H"},
    258	{true,	"TX_PACKET_TC_IN_CNT_1_L"},
    259	{true,	"TX_PACKET_TC_IN_CNT_1_H"},
    260
    261	{true,	"TX_PACKET_TC_IN_CNT_2_L"},
    262	{true,	"TX_PACKET_TC_IN_CNT_2_H"},
    263	{true,	"TX_PACKET_TC_IN_CNT_3_L"},
    264	{true,	"TX_PACKET_TC_IN_CNT_3_H"},
    265	{true,	"TX_PACKET_TC_IN_CNT_4_L"},
    266	{true,	"TX_PACKET_TC_IN_CNT_4_H"},
    267
    268	{true,	"TX_PACKET_TC_IN_CNT_5_L"},
    269	{true,	"TX_PACKET_TC_IN_CNT_5_H"},
    270	{true,	"TX_PACKET_TC_IN_CNT_6_L"},
    271	{true,	"TX_PACKET_TC_IN_CNT_6_H"},
    272	{true,	"TX_PACKET_TC_IN_CNT_7_L"},
    273	{true,	"TX_PACKET_TC_IN_CNT_7_H"},
    274
    275	{true,	"TX_PACKET_TC_OUT_CNT_0_L"},
    276	{true,	"TX_PACKET_TC_OUT_CNT_0_H"},
    277	{true,	"TX_PACKET_TC_OUT_CNT_1_L"},
    278	{true,	"TX_PACKET_TC_OUT_CNT_1_H"},
    279	{true,	"TX_PACKET_TC_OUT_CNT_2_L"},
    280	{true,	"TX_PACKET_TC_OUT_CNT_2_H"},
    281
    282	{true,	"TX_PACKET_TC_OUT_CNT_3_L"},
    283	{true,	"TX_PACKET_TC_OUT_CNT_3_H"},
    284	{true,	"TX_PACKET_TC_OUT_CNT_4_L"},
    285	{true,	"TX_PACKET_TC_OUT_CNT_4_H"},
    286	{true,	"TX_PACKET_TC_OUT_CNT_5_L"},
    287	{true,	"TX_PACKET_TC_OUT_CNT_5_H"},
    288
    289	{true,	"TX_PACKET_TC_OUT_CNT_6_L"},
    290	{true,	"TX_PACKET_TC_OUT_CNT_6_H"},
    291	{true,	"TX_PACKET_TC_OUT_CNT_7_L"},
    292	{true,	"TX_PACKET_TC_OUT_CNT_7_H"},
    293	{false, "Reserved"},
    294	{false, "Reserved"},
    295};
    296
    297static const struct hclge_dbg_dfx_message hclge_dbg_ssu_reg_2[] = {
    298	{true,	"OQ_INDEX"},
    299	{true,	"QUEUE_CNT"},
    300	{false, "Reserved"},
    301	{false, "Reserved"},
    302	{false, "Reserved"},
    303	{false, "Reserved"},
    304};
    305
    306static const struct hclge_dbg_dfx_message hclge_dbg_igu_egu_reg[] = {
    307	{true,	"prt_id"},
    308	{true,	"IGU_RX_ERR_PKT"},
    309	{true,	"IGU_RX_NO_SOF_PKT"},
    310	{true,	"EGU_TX_1588_SHORT_PKT"},
    311	{true,	"EGU_TX_1588_PKT"},
    312	{true,	"EGU_TX_ERR_PKT"},
    313
    314	{true,	"IGU_RX_OUT_L2_PKT"},
    315	{true,	"IGU_RX_OUT_L3_PKT"},
    316	{true,	"IGU_RX_OUT_L4_PKT"},
    317	{true,	"IGU_RX_IN_L2_PKT"},
    318	{true,	"IGU_RX_IN_L3_PKT"},
    319	{true,	"IGU_RX_IN_L4_PKT"},
    320
    321	{true,	"IGU_RX_EL3E_PKT"},
    322	{true,	"IGU_RX_EL4E_PKT"},
    323	{true,	"IGU_RX_L3E_PKT"},
    324	{true,	"IGU_RX_L4E_PKT"},
    325	{true,	"IGU_RX_ROCEE_PKT"},
    326	{true,	"IGU_RX_OUT_UDP0_PKT"},
    327
    328	{true,	"IGU_RX_IN_UDP0_PKT"},
    329	{true,	"IGU_MC_CAR_DROP_PKT_L"},
    330	{true,	"IGU_MC_CAR_DROP_PKT_H"},
    331	{true,	"IGU_BC_CAR_DROP_PKT_L"},
    332	{true,	"IGU_BC_CAR_DROP_PKT_H"},
    333	{false, "Reserved"},
    334
    335	{true,	"IGU_RX_OVERSIZE_PKT_L"},
    336	{true,	"IGU_RX_OVERSIZE_PKT_H"},
    337	{true,	"IGU_RX_UNDERSIZE_PKT_L"},
    338	{true,	"IGU_RX_UNDERSIZE_PKT_H"},
    339	{true,	"IGU_RX_OUT_ALL_PKT_L"},
    340	{true,	"IGU_RX_OUT_ALL_PKT_H"},
    341
    342	{true,	"IGU_TX_OUT_ALL_PKT_L"},
    343	{true,	"IGU_TX_OUT_ALL_PKT_H"},
    344	{true,	"IGU_RX_UNI_PKT_L"},
    345	{true,	"IGU_RX_UNI_PKT_H"},
    346	{true,	"IGU_RX_MULTI_PKT_L"},
    347	{true,	"IGU_RX_MULTI_PKT_H"},
    348
    349	{true,	"IGU_RX_BROAD_PKT_L"},
    350	{true,	"IGU_RX_BROAD_PKT_H"},
    351	{true,	"EGU_TX_OUT_ALL_PKT_L"},
    352	{true,	"EGU_TX_OUT_ALL_PKT_H"},
    353	{true,	"EGU_TX_UNI_PKT_L"},
    354	{true,	"EGU_TX_UNI_PKT_H"},
    355
    356	{true,	"EGU_TX_MULTI_PKT_L"},
    357	{true,	"EGU_TX_MULTI_PKT_H"},
    358	{true,	"EGU_TX_BROAD_PKT_L"},
    359	{true,	"EGU_TX_BROAD_PKT_H"},
    360	{true,	"IGU_TX_KEY_NUM_L"},
    361	{true,	"IGU_TX_KEY_NUM_H"},
    362
    363	{true,	"IGU_RX_NON_TUN_PKT_L"},
    364	{true,	"IGU_RX_NON_TUN_PKT_H"},
    365	{true,	"IGU_RX_TUN_PKT_L"},
    366	{true,	"IGU_RX_TUN_PKT_H"},
    367	{false,	"Reserved"},
    368	{false,	"Reserved"},
    369};
    370
    371static const struct hclge_dbg_dfx_message hclge_dbg_rpu_reg_0[] = {
    372	{true, "tc_queue_num"},
    373	{true, "FSM_DFX_ST0"},
    374	{true, "FSM_DFX_ST1"},
    375	{true, "RPU_RX_PKT_DROP_CNT"},
    376	{true, "BUF_WAIT_TIMEOUT"},
    377	{true, "BUF_WAIT_TIMEOUT_QID"},
    378};
    379
    380static const struct hclge_dbg_dfx_message hclge_dbg_rpu_reg_1[] = {
    381	{false, "Reserved"},
    382	{true,	"FIFO_DFX_ST0"},
    383	{true,	"FIFO_DFX_ST1"},
    384	{true,	"FIFO_DFX_ST2"},
    385	{true,	"FIFO_DFX_ST3"},
    386	{true,	"FIFO_DFX_ST4"},
    387
    388	{true,	"FIFO_DFX_ST5"},
    389	{false, "Reserved"},
    390	{false, "Reserved"},
    391	{false, "Reserved"},
    392	{false, "Reserved"},
    393	{false, "Reserved"},
    394};
    395
    396static const struct hclge_dbg_dfx_message hclge_dbg_ncsi_reg[] = {
    397	{false, "Reserved"},
    398	{true,	"NCSI_EGU_TX_FIFO_STS"},
    399	{true,	"NCSI_PAUSE_STATUS"},
    400	{true,	"NCSI_RX_CTRL_DMAC_ERR_CNT"},
    401	{true,	"NCSI_RX_CTRL_SMAC_ERR_CNT"},
    402	{true,	"NCSI_RX_CTRL_CKS_ERR_CNT"},
    403
    404	{true,	"NCSI_RX_CTRL_PKT_CNT"},
    405	{true,	"NCSI_RX_PT_DMAC_ERR_CNT"},
    406	{true,	"NCSI_RX_PT_SMAC_ERR_CNT"},
    407	{true,	"NCSI_RX_PT_PKT_CNT"},
    408	{true,	"NCSI_RX_FCS_ERR_CNT"},
    409	{true,	"NCSI_TX_CTRL_DMAC_ERR_CNT"},
    410
    411	{true,	"NCSI_TX_CTRL_SMAC_ERR_CNT"},
    412	{true,	"NCSI_TX_CTRL_PKT_CNT"},
    413	{true,	"NCSI_TX_PT_DMAC_ERR_CNT"},
    414	{true,	"NCSI_TX_PT_SMAC_ERR_CNT"},
    415	{true,	"NCSI_TX_PT_PKT_CNT"},
    416	{true,	"NCSI_TX_PT_PKT_TRUNC_CNT"},
    417
    418	{true,	"NCSI_TX_PT_PKT_ERR_CNT"},
    419	{true,	"NCSI_TX_CTRL_PKT_ERR_CNT"},
    420	{true,	"NCSI_RX_CTRL_PKT_TRUNC_CNT"},
    421	{true,	"NCSI_RX_CTRL_PKT_CFLIT_CNT"},
    422	{false, "Reserved"},
    423	{false, "Reserved"},
    424
    425	{true,	"NCSI_MAC_RX_OCTETS_OK"},
    426	{true,	"NCSI_MAC_RX_OCTETS_BAD"},
    427	{true,	"NCSI_MAC_RX_UC_PKTS"},
    428	{true,	"NCSI_MAC_RX_MC_PKTS"},
    429	{true,	"NCSI_MAC_RX_BC_PKTS"},
    430	{true,	"NCSI_MAC_RX_PKTS_64OCTETS"},
    431
    432	{true,	"NCSI_MAC_RX_PKTS_65TO127OCTETS"},
    433	{true,	"NCSI_MAC_RX_PKTS_128TO255OCTETS"},
    434	{true,	"NCSI_MAC_RX_PKTS_255TO511OCTETS"},
    435	{true,	"NCSI_MAC_RX_PKTS_512TO1023OCTETS"},
    436	{true,	"NCSI_MAC_RX_PKTS_1024TO1518OCTETS"},
    437	{true,	"NCSI_MAC_RX_PKTS_1519TOMAXOCTETS"},
    438
    439	{true,	"NCSI_MAC_RX_FCS_ERRORS"},
    440	{true,	"NCSI_MAC_RX_LONG_ERRORS"},
    441	{true,	"NCSI_MAC_RX_JABBER_ERRORS"},
    442	{true,	"NCSI_MAC_RX_RUNT_ERR_CNT"},
    443	{true,	"NCSI_MAC_RX_SHORT_ERR_CNT"},
    444	{true,	"NCSI_MAC_RX_FILT_PKT_CNT"},
    445
    446	{true,	"NCSI_MAC_RX_OCTETS_TOTAL_FILT"},
    447	{true,	"NCSI_MAC_TX_OCTETS_OK"},
    448	{true,	"NCSI_MAC_TX_OCTETS_BAD"},
    449	{true,	"NCSI_MAC_TX_UC_PKTS"},
    450	{true,	"NCSI_MAC_TX_MC_PKTS"},
    451	{true,	"NCSI_MAC_TX_BC_PKTS"},
    452
    453	{true,	"NCSI_MAC_TX_PKTS_64OCTETS"},
    454	{true,	"NCSI_MAC_TX_PKTS_65TO127OCTETS"},
    455	{true,	"NCSI_MAC_TX_PKTS_128TO255OCTETS"},
    456	{true,	"NCSI_MAC_TX_PKTS_256TO511OCTETS"},
    457	{true,	"NCSI_MAC_TX_PKTS_512TO1023OCTETS"},
    458	{true,	"NCSI_MAC_TX_PKTS_1024TO1518OCTETS"},
    459
    460	{true,	"NCSI_MAC_TX_PKTS_1519TOMAXOCTETS"},
    461	{true,	"NCSI_MAC_TX_UNDERRUN"},
    462	{true,	"NCSI_MAC_TX_CRC_ERROR"},
    463	{true,	"NCSI_MAC_TX_PAUSE_FRAMES"},
    464	{true,	"NCSI_MAC_RX_PAD_PKTS"},
    465	{true,	"NCSI_MAC_RX_PAUSE_FRAMES"},
    466};
    467
    468static const struct hclge_dbg_dfx_message hclge_dbg_rtc_reg[] = {
    469	{false, "Reserved"},
    470	{true,	"LGE_IGU_AFIFO_DFX_0"},
    471	{true,	"LGE_IGU_AFIFO_DFX_1"},
    472	{true,	"LGE_IGU_AFIFO_DFX_2"},
    473	{true,	"LGE_IGU_AFIFO_DFX_3"},
    474	{true,	"LGE_IGU_AFIFO_DFX_4"},
    475
    476	{true,	"LGE_IGU_AFIFO_DFX_5"},
    477	{true,	"LGE_IGU_AFIFO_DFX_6"},
    478	{true,	"LGE_IGU_AFIFO_DFX_7"},
    479	{true,	"LGE_EGU_AFIFO_DFX_0"},
    480	{true,	"LGE_EGU_AFIFO_DFX_1"},
    481	{true,	"LGE_EGU_AFIFO_DFX_2"},
    482
    483	{true,	"LGE_EGU_AFIFO_DFX_3"},
    484	{true,	"LGE_EGU_AFIFO_DFX_4"},
    485	{true,	"LGE_EGU_AFIFO_DFX_5"},
    486	{true,	"LGE_EGU_AFIFO_DFX_6"},
    487	{true,	"LGE_EGU_AFIFO_DFX_7"},
    488	{true,	"CGE_IGU_AFIFO_DFX_0"},
    489
    490	{true,	"CGE_IGU_AFIFO_DFX_1"},
    491	{true,	"CGE_EGU_AFIFO_DFX_0"},
    492	{true,	"CGE_EGU_AFIFO_DFX_1"},
    493	{false, "Reserved"},
    494	{false, "Reserved"},
    495	{false, "Reserved"},
    496};
    497
    498static const struct hclge_dbg_dfx_message hclge_dbg_ppp_reg[] = {
    499	{false, "Reserved"},
    500	{true,	"DROP_FROM_PRT_PKT_CNT"},
    501	{true,	"DROP_FROM_HOST_PKT_CNT"},
    502	{true,	"DROP_TX_VLAN_PROC_CNT"},
    503	{true,	"DROP_MNG_CNT"},
    504	{true,	"DROP_FD_CNT"},
    505
    506	{true,	"DROP_NO_DST_CNT"},
    507	{true,	"DROP_MC_MBID_FULL_CNT"},
    508	{true,	"DROP_SC_FILTERED"},
    509	{true,	"PPP_MC_DROP_PKT_CNT"},
    510	{true,	"DROP_PT_CNT"},
    511	{true,	"DROP_MAC_ANTI_SPOOF_CNT"},
    512
    513	{true,	"DROP_IG_VFV_CNT"},
    514	{true,	"DROP_IG_PRTV_CNT"},
    515	{true,	"DROP_CNM_PFC_PAUSE_CNT"},
    516	{true,	"DROP_TORUS_TC_CNT"},
    517	{true,	"DROP_TORUS_LPBK_CNT"},
    518	{true,	"PPP_HFS_STS"},
    519
    520	{true,	"PPP_MC_RSLT_STS"},
    521	{true,	"PPP_P3U_STS"},
    522	{true,	"PPP_RSLT_DESCR_STS"},
    523	{true,	"PPP_UMV_STS_0"},
    524	{true,	"PPP_UMV_STS_1"},
    525	{true,	"PPP_VFV_STS"},
    526
    527	{true,	"PPP_GRO_KEY_CNT"},
    528	{true,	"PPP_GRO_INFO_CNT"},
    529	{true,	"PPP_GRO_DROP_CNT"},
    530	{true,	"PPP_GRO_OUT_CNT"},
    531	{true,	"PPP_GRO_KEY_MATCH_DATA_CNT"},
    532	{true,	"PPP_GRO_KEY_MATCH_TCAM_CNT"},
    533
    534	{true,	"PPP_GRO_INFO_MATCH_CNT"},
    535	{true,	"PPP_GRO_FREE_ENTRY_CNT"},
    536	{true,	"PPP_GRO_INNER_DFX_SIGNAL"},
    537	{false, "Reserved"},
    538	{false, "Reserved"},
    539	{false, "Reserved"},
    540
    541	{true,	"GET_RX_PKT_CNT_L"},
    542	{true,	"GET_RX_PKT_CNT_H"},
    543	{true,	"GET_TX_PKT_CNT_L"},
    544	{true,	"GET_TX_PKT_CNT_H"},
    545	{true,	"SEND_UC_PRT2HOST_PKT_CNT_L"},
    546	{true,	"SEND_UC_PRT2HOST_PKT_CNT_H"},
    547
    548	{true,	"SEND_UC_PRT2PRT_PKT_CNT_L"},
    549	{true,	"SEND_UC_PRT2PRT_PKT_CNT_H"},
    550	{true,	"SEND_UC_HOST2HOST_PKT_CNT_L"},
    551	{true,	"SEND_UC_HOST2HOST_PKT_CNT_H"},
    552	{true,	"SEND_UC_HOST2PRT_PKT_CNT_L"},
    553	{true,	"SEND_UC_HOST2PRT_PKT_CNT_H"},
    554
    555	{true,	"SEND_MC_FROM_PRT_CNT_L"},
    556	{true,	"SEND_MC_FROM_PRT_CNT_H"},
    557	{true,	"SEND_MC_FROM_HOST_CNT_L"},
    558	{true,	"SEND_MC_FROM_HOST_CNT_H"},
    559	{true,	"SSU_MC_RD_CNT_L"},
    560	{true,	"SSU_MC_RD_CNT_H"},
    561
    562	{true,	"SSU_MC_DROP_CNT_L"},
    563	{true,	"SSU_MC_DROP_CNT_H"},
    564	{true,	"SSU_MC_RD_PKT_CNT_L"},
    565	{true,	"SSU_MC_RD_PKT_CNT_H"},
    566	{true,	"PPP_MC_2HOST_PKT_CNT_L"},
    567	{true,	"PPP_MC_2HOST_PKT_CNT_H"},
    568
    569	{true,	"PPP_MC_2PRT_PKT_CNT_L"},
    570	{true,	"PPP_MC_2PRT_PKT_CNT_H"},
    571	{true,	"NTSNOS_PKT_CNT_L"},
    572	{true,	"NTSNOS_PKT_CNT_H"},
    573	{true,	"NTUP_PKT_CNT_L"},
    574	{true,	"NTUP_PKT_CNT_H"},
    575
    576	{true,	"NTLCL_PKT_CNT_L"},
    577	{true,	"NTLCL_PKT_CNT_H"},
    578	{true,	"NTTGT_PKT_CNT_L"},
    579	{true,	"NTTGT_PKT_CNT_H"},
    580	{true,	"RTNS_PKT_CNT_L"},
    581	{true,	"RTNS_PKT_CNT_H"},
    582
    583	{true,	"RTLPBK_PKT_CNT_L"},
    584	{true,	"RTLPBK_PKT_CNT_H"},
    585	{true,	"NR_PKT_CNT_L"},
    586	{true,	"NR_PKT_CNT_H"},
    587	{true,	"RR_PKT_CNT_L"},
    588	{true,	"RR_PKT_CNT_H"},
    589
    590	{true,	"MNG_TBL_HIT_CNT_L"},
    591	{true,	"MNG_TBL_HIT_CNT_H"},
    592	{true,	"FD_TBL_HIT_CNT_L"},
    593	{true,	"FD_TBL_HIT_CNT_H"},
    594	{true,	"FD_LKUP_CNT_L"},
    595	{true,	"FD_LKUP_CNT_H"},
    596
    597	{true,	"BC_HIT_CNT_L"},
    598	{true,	"BC_HIT_CNT_H"},
    599	{true,	"UM_TBL_UC_HIT_CNT_L"},
    600	{true,	"UM_TBL_UC_HIT_CNT_H"},
    601	{true,	"UM_TBL_MC_HIT_CNT_L"},
    602	{true,	"UM_TBL_MC_HIT_CNT_H"},
    603
    604	{true,	"UM_TBL_VMDQ1_HIT_CNT_L"},
    605	{true,	"UM_TBL_VMDQ1_HIT_CNT_H"},
    606	{true,	"MTA_TBL_HIT_CNT_L"},
    607	{true,	"MTA_TBL_HIT_CNT_H"},
    608	{true,	"FWD_BONDING_HIT_CNT_L"},
    609	{true,	"FWD_BONDING_HIT_CNT_H"},
    610
    611	{true,	"PROMIS_TBL_HIT_CNT_L"},
    612	{true,	"PROMIS_TBL_HIT_CNT_H"},
    613	{true,	"GET_TUNL_PKT_CNT_L"},
    614	{true,	"GET_TUNL_PKT_CNT_H"},
    615	{true,	"GET_BMC_PKT_CNT_L"},
    616	{true,	"GET_BMC_PKT_CNT_H"},
    617
    618	{true,	"SEND_UC_PRT2BMC_PKT_CNT_L"},
    619	{true,	"SEND_UC_PRT2BMC_PKT_CNT_H"},
    620	{true,	"SEND_UC_HOST2BMC_PKT_CNT_L"},
    621	{true,	"SEND_UC_HOST2BMC_PKT_CNT_H"},
    622	{true,	"SEND_UC_BMC2HOST_PKT_CNT_L"},
    623	{true,	"SEND_UC_BMC2HOST_PKT_CNT_H"},
    624
    625	{true,	"SEND_UC_BMC2PRT_PKT_CNT_L"},
    626	{true,	"SEND_UC_BMC2PRT_PKT_CNT_H"},
    627	{true,	"PPP_MC_2BMC_PKT_CNT_L"},
    628	{true,	"PPP_MC_2BMC_PKT_CNT_H"},
    629	{true,	"VLAN_MIRR_CNT_L"},
    630	{true,	"VLAN_MIRR_CNT_H"},
    631
    632	{true,	"IG_MIRR_CNT_L"},
    633	{true,	"IG_MIRR_CNT_H"},
    634	{true,	"EG_MIRR_CNT_L"},
    635	{true,	"EG_MIRR_CNT_H"},
    636	{true,	"RX_DEFAULT_HOST_HIT_CNT_L"},
    637	{true,	"RX_DEFAULT_HOST_HIT_CNT_H"},
    638
    639	{true,	"LAN_PAIR_CNT_L"},
    640	{true,	"LAN_PAIR_CNT_H"},
    641	{true,	"UM_TBL_MC_HIT_PKT_CNT_L"},
    642	{true,	"UM_TBL_MC_HIT_PKT_CNT_H"},
    643	{true,	"MTA_TBL_HIT_PKT_CNT_L"},
    644	{true,	"MTA_TBL_HIT_PKT_CNT_H"},
    645
    646	{true,	"PROMIS_TBL_HIT_PKT_CNT_L"},
    647	{true,	"PROMIS_TBL_HIT_PKT_CNT_H"},
    648	{false, "Reserved"},
    649	{false, "Reserved"},
    650	{false, "Reserved"},
    651	{false, "Reserved"},
    652};
    653
    654static const struct hclge_dbg_dfx_message hclge_dbg_rcb_reg[] = {
    655	{false, "Reserved"},
    656	{true,	"FSM_DFX_ST0"},
    657	{true,	"FSM_DFX_ST1"},
    658	{true,	"FSM_DFX_ST2"},
    659	{true,	"FIFO_DFX_ST0"},
    660	{true,	"FIFO_DFX_ST1"},
    661
    662	{true,	"FIFO_DFX_ST2"},
    663	{true,	"FIFO_DFX_ST3"},
    664	{true,	"FIFO_DFX_ST4"},
    665	{true,	"FIFO_DFX_ST5"},
    666	{true,	"FIFO_DFX_ST6"},
    667	{true,	"FIFO_DFX_ST7"},
    668
    669	{true,	"FIFO_DFX_ST8"},
    670	{true,	"FIFO_DFX_ST9"},
    671	{true,	"FIFO_DFX_ST10"},
    672	{true,	"FIFO_DFX_ST11"},
    673	{true,	"Q_CREDIT_VLD_0"},
    674	{true,	"Q_CREDIT_VLD_1"},
    675
    676	{true,	"Q_CREDIT_VLD_2"},
    677	{true,	"Q_CREDIT_VLD_3"},
    678	{true,	"Q_CREDIT_VLD_4"},
    679	{true,	"Q_CREDIT_VLD_5"},
    680	{true,	"Q_CREDIT_VLD_6"},
    681	{true,	"Q_CREDIT_VLD_7"},
    682
    683	{true,	"Q_CREDIT_VLD_8"},
    684	{true,	"Q_CREDIT_VLD_9"},
    685	{true,	"Q_CREDIT_VLD_10"},
    686	{true,	"Q_CREDIT_VLD_11"},
    687	{true,	"Q_CREDIT_VLD_12"},
    688	{true,	"Q_CREDIT_VLD_13"},
    689
    690	{true,	"Q_CREDIT_VLD_14"},
    691	{true,	"Q_CREDIT_VLD_15"},
    692	{true,	"Q_CREDIT_VLD_16"},
    693	{true,	"Q_CREDIT_VLD_17"},
    694	{true,	"Q_CREDIT_VLD_18"},
    695	{true,	"Q_CREDIT_VLD_19"},
    696
    697	{true,	"Q_CREDIT_VLD_20"},
    698	{true,	"Q_CREDIT_VLD_21"},
    699	{true,	"Q_CREDIT_VLD_22"},
    700	{true,	"Q_CREDIT_VLD_23"},
    701	{true,	"Q_CREDIT_VLD_24"},
    702	{true,	"Q_CREDIT_VLD_25"},
    703
    704	{true,	"Q_CREDIT_VLD_26"},
    705	{true,	"Q_CREDIT_VLD_27"},
    706	{true,	"Q_CREDIT_VLD_28"},
    707	{true,	"Q_CREDIT_VLD_29"},
    708	{true,	"Q_CREDIT_VLD_30"},
    709	{true,	"Q_CREDIT_VLD_31"},
    710
    711	{true,	"GRO_BD_SERR_CNT"},
    712	{true,	"GRO_CONTEXT_SERR_CNT"},
    713	{true,	"RX_STASH_CFG_SERR_CNT"},
    714	{true,	"AXI_RD_FBD_SERR_CNT"},
    715	{true,	"GRO_BD_MERR_CNT"},
    716	{true,	"GRO_CONTEXT_MERR_CNT"},
    717
    718	{true,	"RX_STASH_CFG_MERR_CNT"},
    719	{true,	"AXI_RD_FBD_MERR_CNT"},
    720	{false, "Reserved"},
    721	{false, "Reserved"},
    722	{false, "Reserved"},
    723	{false, "Reserved"},
    724};
    725
    726static const struct hclge_dbg_dfx_message hclge_dbg_tqp_reg[] = {
    727	{true, "q_num"},
    728	{true, "RCB_CFG_RX_RING_TAIL"},
    729	{true, "RCB_CFG_RX_RING_HEAD"},
    730	{true, "RCB_CFG_RX_RING_FBDNUM"},
    731	{true, "RCB_CFG_RX_RING_OFFSET"},
    732	{true, "RCB_CFG_RX_RING_FBDOFFSET"},
    733
    734	{true, "RCB_CFG_RX_RING_PKTNUM_RECORD"},
    735	{true, "RCB_CFG_TX_RING_TAIL"},
    736	{true, "RCB_CFG_TX_RING_HEAD"},
    737	{true, "RCB_CFG_TX_RING_FBDNUM"},
    738	{true, "RCB_CFG_TX_RING_OFFSET"},
    739	{true, "RCB_CFG_TX_RING_EBDNUM"},
    740};
    741
    742#define HCLGE_DBG_INFO_LEN			256
    743#define HCLGE_DBG_VLAN_FLTR_INFO_LEN		256
    744#define HCLGE_DBG_VLAN_OFFLOAD_INFO_LEN		512
    745#define HCLGE_DBG_ID_LEN			16
    746#define HCLGE_DBG_ITEM_NAME_LEN			32
    747#define HCLGE_DBG_DATA_STR_LEN			32
    748#define HCLGE_DBG_TM_INFO_LEN			256
    749
    750#define HCLGE_BILLION_NANO_SECONDS	1000000000
    751
    752struct hclge_dbg_item {
    753	char name[HCLGE_DBG_ITEM_NAME_LEN];
    754	u16 interval; /* blank numbers after the item */
    755};
    756
    757struct hclge_dbg_vlan_cfg {
    758	u16 pvid;
    759	u8 accept_tag1;
    760	u8 accept_tag2;
    761	u8 accept_untag1;
    762	u8 accept_untag2;
    763	u8 insert_tag1;
    764	u8 insert_tag2;
    765	u8 shift_tag;
    766	u8 strip_tag1;
    767	u8 strip_tag2;
    768	u8 drop_tag1;
    769	u8 drop_tag2;
    770	u8 pri_only1;
    771	u8 pri_only2;
    772};
    773
    774#endif