114 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/* Huawei HiNIC PCI Express Linux driver3 * Copyright(c) 2017 Huawei Technologies Co., Ltd4 */5 6#ifndef HINIC_DEBUGFS_H7#define HINIC_DEBUGFS_H8 9#include "hinic_dev.h"10 11#define TBL_ID_FUNC_CFG_SM_NODE 1112#define TBL_ID_FUNC_CFG_SM_INST 113 14#define HINIC_FUNCTION_CONFIGURE_TABLE_SIZE 6415 16struct hinic_cmd_lt_rd {17 u8 status;18 u8 version;19 u8 rsvd0[6];20 21 unsigned char node;22 unsigned char inst;23 unsigned char entry_size;24 unsigned char rsvd;25 unsigned int lt_index;26 unsigned int offset;27 unsigned int len;28 unsigned char data[100];29};30 31struct tag_sml_funcfg_tbl {32 union {33 struct {34 u32 rsvd0 :8;35 u32 nic_rx_mode :5;36 u32 rsvd1 :18;37 u32 valid :1;38 } bs;39 40 u32 value;41 } dw0;42 43 union {44 struct {45 u32 vlan_id :12;46 u32 vlan_mode :3;47 u32 fast_recycled_mode :1;48 u32 mtu :16;49 } bs;50 51 u32 value;52 } dw1;53 54 u32 dw2;55 u32 dw3;56 u32 dw4;57 u32 dw5;58 u32 dw6;59 u32 dw7;60 u32 dw8;61 u32 dw9;62 u32 dw10;63 u32 dw11;64 u32 dw12;65 66 union {67 struct {68 u32 rsvd2 :15;69 u32 cfg_q_num :9;70 u32 cfg_rq_depth :6;71 u32 vhd_type :2;72 } bs;73 74 u32 value;75 } dw13;76 77 u32 dw14;78 u32 dw15;79};80 81int hinic_sq_debug_add(struct hinic_dev *dev, u16 sq_id);82 83void hinic_sq_debug_rem(struct hinic_sq *sq);84 85int hinic_rq_debug_add(struct hinic_dev *dev, u16 rq_id);86 87void hinic_rq_debug_rem(struct hinic_rq *rq);88 89int hinic_func_table_debug_add(struct hinic_dev *dev);90 91void hinic_func_table_debug_rem(struct hinic_dev *dev);92 93void hinic_sq_dbgfs_init(struct hinic_dev *nic_dev);94 95void hinic_sq_dbgfs_uninit(struct hinic_dev *nic_dev);96 97void hinic_rq_dbgfs_init(struct hinic_dev *nic_dev);98 99void hinic_rq_dbgfs_uninit(struct hinic_dev *nic_dev);100 101void hinic_func_tbl_dbgfs_init(struct hinic_dev *nic_dev);102 103void hinic_func_tbl_dbgfs_uninit(struct hinic_dev *nic_dev);104 105void hinic_dbg_init(struct hinic_dev *nic_dev);106 107void hinic_dbg_uninit(struct hinic_dev *nic_dev);108 109void hinic_dbg_register_debugfs(const char *debugfs_dir_name);110 111void hinic_dbg_unregister_debugfs(void);112 113#endif114