xref: /linux/drivers/infiniband/hw/bnxt_re/debugfs.h (revision 55aa394a5ed871208eac11c5f4677cafd258c4dd)
1 // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2 /*
3  * Copyright (c) 2024, Broadcom. All rights reserved.  The term
4  * Broadcom refers to Broadcom Limited and/or its subsidiaries.
5  *
6  * Description: Debugfs header
7  */
8 
9 #ifndef __BNXT_RE_DEBUGFS__
10 #define __BNXT_RE_DEBUGFS__
11 
12 void bnxt_re_debug_add_qpinfo(struct bnxt_re_dev *rdev, struct bnxt_re_qp *qp);
13 void bnxt_re_debug_rem_qpinfo(struct bnxt_re_dev *rdev, struct bnxt_re_qp *qp);
14 
15 void bnxt_re_debugfs_add_pdev(struct bnxt_re_dev *rdev);
16 void bnxt_re_debugfs_rem_pdev(struct bnxt_re_dev *rdev);
17 
18 void bnxt_re_register_debugfs(void);
19 void bnxt_re_unregister_debugfs(void);
20 
21 #define CC_CONFIG_GEN_EXT(x, y)	(((x) << 16) | (y))
22 #define CC_CONFIG_GEN0_EXT0  CC_CONFIG_GEN_EXT(0, 0)
23 
24 #define BNXT_RE_CC_PARAM_GEN0  14
25 
26 struct bnxt_re_cc_param {
27 	struct bnxt_re_dev *rdev;
28 	struct dentry *dentry;
29 	u32 offset;
30 	u8 cc_gen;
31 };
32 
33 struct bnxt_re_dbg_cc_config_params {
34 	struct bnxt_re_cc_param	gen0_parms[BNXT_RE_CC_PARAM_GEN0];
35 };
36 
37 struct bnxt_re_cq_coal_param {
38 	struct bnxt_re_dev	*rdev;
39 	u32			offset;
40 };
41 
42 enum bnxt_re_cq_coal_types {
43 	BNXT_RE_COAL_CQ_BUF_MAXTIME,
44 	BNXT_RE_COAL_CQ_NORMAL_MAXBUF,
45 	BNXT_RE_COAL_CQ_DURING_MAXBUF,
46 	BNXT_RE_COAL_CQ_EN_RING_IDLE_MODE,
47 	BNXT_RE_COAL_CQ_ENABLE,
48 	BNXT_RE_COAL_CQ_MAX
49 
50 };
51 
52 struct bnxt_re_dbg_cq_coal_params {
53 	struct bnxt_re_cq_coal_param	params[BNXT_RE_COAL_CQ_MAX];
54 };
55 #endif
56