68 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/* Copyright (c) 2021 Hisilicon Limited. */3 4#ifndef __HNS3_DEBUGFS_H5#define __HNS3_DEBUGFS_H6 7#include "hnae3.h"8 9#define HNS3_DBG_READ_LEN 6553610#define HNS3_DBG_READ_LEN_128KB 0x2000011#define HNS3_DBG_READ_LEN_1MB 0x10000012#define HNS3_DBG_READ_LEN_4MB 0x40000013#define HNS3_DBG_READ_LEN_5MB 0x50000014#define HNS3_DBG_WRITE_LEN 102415 16#define HNS3_DBG_DATA_STR_LEN 3217#define HNS3_DBG_INFO_LEN 25618#define HNS3_DBG_ITEM_NAME_LEN 3219#define HNS3_DBG_FILE_NAME_LEN 1620 21struct hns3_dbg_item {22 char name[HNS3_DBG_ITEM_NAME_LEN];23 u16 interval; /* blank numbers after the item */24};25 26struct hns3_dbg_data {27 struct hnae3_handle *handle;28 enum hnae3_dbg_cmd cmd;29 u16 qid;30};31 32enum hns3_dbg_dentry_type {33 HNS3_DBG_DENTRY_TM,34 HNS3_DBG_DENTRY_TX_BD,35 HNS3_DBG_DENTRY_RX_BD,36 HNS3_DBG_DENTRY_MAC,37 HNS3_DBG_DENTRY_REG,38 HNS3_DBG_DENTRY_QUEUE,39 HNS3_DBG_DENTRY_FD,40 HNS3_DBG_DENTRY_COMMON,41};42 43struct hns3_dbg_dentry_info {44 const char *name;45 struct dentry *dentry;46};47 48struct hns3_dbg_cmd_info {49 const char *name;50 enum hnae3_dbg_cmd cmd;51 enum hns3_dbg_dentry_type dentry;52 u32 buf_len;53 int (*init)(struct hnae3_handle *handle, unsigned int cmd);54};55 56struct hns3_dbg_func {57 enum hnae3_dbg_cmd cmd;58 int (*dbg_dump)(struct hnae3_handle *handle, char *buf, int len);59 int (*dbg_dump_bd)(struct hns3_dbg_data *data, char *buf, int len);60};61 62struct hns3_dbg_cap_info {63 const char *name;64 enum HNAE3_DEV_CAP_BITS cap_bit;65};66 67#endif68