1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40#ifndef __BNXT_RE_HW_STATS_H__
41#define __BNXT_RE_HW_STATS_H__
42
43enum bnxt_re_hw_stats {
44 BNXT_RE_ACTIVE_QP,
45 BNXT_RE_ACTIVE_SRQ,
46 BNXT_RE_ACTIVE_CQ,
47 BNXT_RE_ACTIVE_MR,
48 BNXT_RE_ACTIVE_MW,
49 BNXT_RE_RX_PKTS,
50 BNXT_RE_RX_BYTES,
51 BNXT_RE_TX_PKTS,
52 BNXT_RE_TX_BYTES,
53 BNXT_RE_RECOVERABLE_ERRORS,
54 BNXT_RE_TO_RETRANSMITS,
55 BNXT_RE_SEQ_ERR_NAKS_RCVD,
56 BNXT_RE_MAX_RETRY_EXCEEDED,
57 BNXT_RE_RNR_NAKS_RCVD,
58 BNXT_RE_MISSING_RESP,
59 BNXT_RE_UNRECOVERABLE_ERR,
60 BNXT_RE_BAD_RESP_ERR,
61 BNXT_RE_LOCAL_QP_OP_ERR,
62 BNXT_RE_LOCAL_PROTECTION_ERR,
63 BNXT_RE_MEM_MGMT_OP_ERR,
64 BNXT_RE_REMOTE_INVALID_REQ_ERR,
65 BNXT_RE_REMOTE_ACCESS_ERR,
66 BNXT_RE_REMOTE_OP_ERR,
67 BNXT_RE_DUP_REQ,
68 BNXT_RE_RES_EXCEED_MAX,
69 BNXT_RE_RES_LENGTH_MISMATCH,
70 BNXT_RE_RES_EXCEEDS_WQE,
71 BNXT_RE_RES_OPCODE_ERR,
72 BNXT_RE_RES_RX_INVALID_RKEY,
73 BNXT_RE_RES_RX_DOMAIN_ERR,
74 BNXT_RE_RES_RX_NO_PERM,
75 BNXT_RE_RES_RX_RANGE_ERR,
76 BNXT_RE_RES_TX_INVALID_RKEY,
77 BNXT_RE_RES_TX_DOMAIN_ERR,
78 BNXT_RE_RES_TX_NO_PERM,
79 BNXT_RE_RES_TX_RANGE_ERR,
80 BNXT_RE_RES_IRRQ_OFLOW,
81 BNXT_RE_RES_UNSUP_OPCODE,
82 BNXT_RE_RES_UNALIGNED_ATOMIC,
83 BNXT_RE_RES_REM_INV_ERR,
84 BNXT_RE_RES_MEM_ERROR,
85 BNXT_RE_RES_SRQ_ERR,
86 BNXT_RE_RES_CMP_ERR,
87 BNXT_RE_RES_INVALID_DUP_RKEY,
88 BNXT_RE_RES_WQE_FORMAT_ERR,
89 BNXT_RE_RES_CQ_LOAD_ERR,
90 BNXT_RE_RES_SRQ_LOAD_ERR,
91 BNXT_RE_RES_TX_PCI_ERR,
92 BNXT_RE_RES_RX_PCI_ERR,
93 BNXT_RE_NUM_COUNTERS
94};
95
96struct rdma_hw_stats *bnxt_re_ib_alloc_hw_stats(struct ib_device *ibdev,
97 u8 port_num);
98int bnxt_re_ib_get_hw_stats(struct ib_device *ibdev,
99 struct rdma_hw_stats *stats,
100 u8 port, int index);
101#endif
102