1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* Copyright (c) 2021 Hisilicon Limited. */ 3 4 #ifndef __HNS3_DEBUGFS_H 5 #define __HNS3_DEBUGFS_H 6 7 #include "hnae3.h" 8 9 #define HNS3_DBG_ITEM_NAME_LEN 32 10 #define HNS3_DBG_FILE_NAME_LEN 16 11 12 struct hns3_dbg_item { 13 char name[HNS3_DBG_ITEM_NAME_LEN]; 14 u16 interval; /* blank numbers after the item */ 15 }; 16 17 struct hns3_dbg_data { 18 struct hnae3_handle *handle; 19 enum hnae3_dbg_cmd cmd; 20 u16 qid; 21 }; 22 23 enum hns3_dbg_dentry_type { 24 HNS3_DBG_DENTRY_TM, 25 HNS3_DBG_DENTRY_TX_BD, 26 HNS3_DBG_DENTRY_RX_BD, 27 HNS3_DBG_DENTRY_MAC, 28 HNS3_DBG_DENTRY_REG, 29 HNS3_DBG_DENTRY_QUEUE, 30 HNS3_DBG_DENTRY_FD, 31 HNS3_DBG_DENTRY_COMMON, 32 }; 33 34 struct hns3_dbg_dentry_info { 35 const char *name; 36 struct dentry *dentry; 37 }; 38 39 struct hns3_dbg_cmd_info { 40 const char *name; 41 enum hnae3_dbg_cmd cmd; 42 enum hns3_dbg_dentry_type dentry; 43 int (*init)(struct hnae3_handle *handle, unsigned int cmd); 44 }; 45 46 struct hns3_dbg_cap_info { 47 const char *name; 48 enum HNAE3_DEV_CAP_BITS cap_bit; 49 }; 50 51 #endif 52