|
57 | 57 | #include "bnxt_re.h"
|
58 | 58 | #include "hw_counters.h"
|
59 | 59 |
|
60 |
| -static const char * const bnxt_re_stat_name[] = { |
61 |
| - [BNXT_RE_ACTIVE_PD] = "active_pds", |
62 |
| - [BNXT_RE_ACTIVE_AH] = "active_ahs", |
63 |
| - [BNXT_RE_ACTIVE_QP] = "active_qps", |
64 |
| - [BNXT_RE_ACTIVE_SRQ] = "active_srqs", |
65 |
| - [BNXT_RE_ACTIVE_CQ] = "active_cqs", |
66 |
| - [BNXT_RE_ACTIVE_MR] = "active_mrs", |
67 |
| - [BNXT_RE_ACTIVE_MW] = "active_mws", |
68 |
| - [BNXT_RE_RX_PKTS] = "rx_pkts", |
69 |
| - [BNXT_RE_RX_BYTES] = "rx_bytes", |
70 |
| - [BNXT_RE_TX_PKTS] = "tx_pkts", |
71 |
| - [BNXT_RE_TX_BYTES] = "tx_bytes", |
72 |
| - [BNXT_RE_RECOVERABLE_ERRORS] = "recoverable_errors", |
73 |
| - [BNXT_RE_RX_ERRORS] = "rx_roce_errors", |
74 |
| - [BNXT_RE_RX_DISCARDS] = "rx_roce_discards", |
75 |
| - [BNXT_RE_TO_RETRANSMITS] = "to_retransmits", |
76 |
| - [BNXT_RE_SEQ_ERR_NAKS_RCVD] = "seq_err_naks_rcvd", |
77 |
| - [BNXT_RE_MAX_RETRY_EXCEEDED] = "max_retry_exceeded", |
78 |
| - [BNXT_RE_RNR_NAKS_RCVD] = "rnr_naks_rcvd", |
79 |
| - [BNXT_RE_MISSING_RESP] = "missing_resp", |
80 |
| - [BNXT_RE_UNRECOVERABLE_ERR] = "unrecoverable_err", |
81 |
| - [BNXT_RE_BAD_RESP_ERR] = "bad_resp_err", |
82 |
| - [BNXT_RE_LOCAL_QP_OP_ERR] = "local_qp_op_err", |
83 |
| - [BNXT_RE_LOCAL_PROTECTION_ERR] = "local_protection_err", |
84 |
| - [BNXT_RE_MEM_MGMT_OP_ERR] = "mem_mgmt_op_err", |
85 |
| - [BNXT_RE_REMOTE_INVALID_REQ_ERR] = "remote_invalid_req_err", |
86 |
| - [BNXT_RE_REMOTE_ACCESS_ERR] = "remote_access_err", |
87 |
| - [BNXT_RE_REMOTE_OP_ERR] = "remote_op_err", |
88 |
| - [BNXT_RE_DUP_REQ] = "dup_req", |
89 |
| - [BNXT_RE_RES_EXCEED_MAX] = "res_exceed_max", |
90 |
| - [BNXT_RE_RES_LENGTH_MISMATCH] = "res_length_mismatch", |
91 |
| - [BNXT_RE_RES_EXCEEDS_WQE] = "res_exceeds_wqe", |
92 |
| - [BNXT_RE_RES_OPCODE_ERR] = "res_opcode_err", |
93 |
| - [BNXT_RE_RES_RX_INVALID_RKEY] = "res_rx_invalid_rkey", |
94 |
| - [BNXT_RE_RES_RX_DOMAIN_ERR] = "res_rx_domain_err", |
95 |
| - [BNXT_RE_RES_RX_NO_PERM] = "res_rx_no_perm", |
96 |
| - [BNXT_RE_RES_RX_RANGE_ERR] = "res_rx_range_err", |
97 |
| - [BNXT_RE_RES_TX_INVALID_RKEY] = "res_tx_invalid_rkey", |
98 |
| - [BNXT_RE_RES_TX_DOMAIN_ERR] = "res_tx_domain_err", |
99 |
| - [BNXT_RE_RES_TX_NO_PERM] = "res_tx_no_perm", |
100 |
| - [BNXT_RE_RES_TX_RANGE_ERR] = "res_tx_range_err", |
101 |
| - [BNXT_RE_RES_IRRQ_OFLOW] = "res_irrq_oflow", |
102 |
| - [BNXT_RE_RES_UNSUP_OPCODE] = "res_unsup_opcode", |
103 |
| - [BNXT_RE_RES_UNALIGNED_ATOMIC] = "res_unaligned_atomic", |
104 |
| - [BNXT_RE_RES_REM_INV_ERR] = "res_rem_inv_err", |
105 |
| - [BNXT_RE_RES_MEM_ERROR] = "res_mem_err", |
106 |
| - [BNXT_RE_RES_SRQ_ERR] = "res_srq_err", |
107 |
| - [BNXT_RE_RES_CMP_ERR] = "res_cmp_err", |
108 |
| - [BNXT_RE_RES_INVALID_DUP_RKEY] = "res_invalid_dup_rkey", |
109 |
| - [BNXT_RE_RES_WQE_FORMAT_ERR] = "res_wqe_format_err", |
110 |
| - [BNXT_RE_RES_CQ_LOAD_ERR] = "res_cq_load_err", |
111 |
| - [BNXT_RE_RES_SRQ_LOAD_ERR] = "res_srq_load_err", |
112 |
| - [BNXT_RE_RES_TX_PCI_ERR] = "res_tx_pci_err", |
113 |
| - [BNXT_RE_RES_RX_PCI_ERR] = "res_rx_pci_err", |
114 |
| - [BNXT_RE_OUT_OF_SEQ_ERR] = "oos_drop_count", |
115 |
| - [BNXT_RE_TX_ATOMIC_REQ] = "tx_atomic_req", |
116 |
| - [BNXT_RE_TX_READ_REQ] = "tx_read_req", |
117 |
| - [BNXT_RE_TX_READ_RES] = "tx_read_resp", |
118 |
| - [BNXT_RE_TX_WRITE_REQ] = "tx_write_req", |
119 |
| - [BNXT_RE_TX_SEND_REQ] = "tx_send_req", |
120 |
| - [BNXT_RE_RX_ATOMIC_REQ] = "rx_atomic_req", |
121 |
| - [BNXT_RE_RX_READ_REQ] = "rx_read_req", |
122 |
| - [BNXT_RE_RX_READ_RESP] = "rx_read_resp", |
123 |
| - [BNXT_RE_RX_WRITE_REQ] = "rx_write_req", |
124 |
| - [BNXT_RE_RX_SEND_REQ] = "rx_send_req", |
125 |
| - [BNXT_RE_RX_ROCE_GOOD_PKTS] = "rx_roce_good_pkts", |
126 |
| - [BNXT_RE_RX_ROCE_GOOD_BYTES] = "rx_roce_good_bytes", |
127 |
| - [BNXT_RE_OOB] = "rx_out_of_buffer" |
| 60 | +static const struct rdma_stat_desc bnxt_re_stat_descs[] = { |
| 61 | + [BNXT_RE_ACTIVE_QP].name = "active_qps", |
| 62 | + [BNXT_RE_ACTIVE_SRQ].name = "active_srqs", |
| 63 | + [BNXT_RE_ACTIVE_CQ].name = "active_cqs", |
| 64 | + [BNXT_RE_ACTIVE_MR].name = "active_mrs", |
| 65 | + [BNXT_RE_ACTIVE_MW].name = "active_mws", |
| 66 | + [BNXT_RE_RX_PKTS].name = "rx_pkts", |
| 67 | + [BNXT_RE_RX_BYTES].name = "rx_bytes", |
| 68 | + [BNXT_RE_TX_PKTS].name = "tx_pkts", |
| 69 | + [BNXT_RE_TX_BYTES].name = "tx_bytes", |
| 70 | + [BNXT_RE_RECOVERABLE_ERRORS].name = "recoverable_errors", |
| 71 | + [BNXT_RE_RX_ERRORS].name = "rx_roce_errors", |
| 72 | + [BNXT_RE_RX_DISCARDS].name = "rx_roce_discards", |
| 73 | + [BNXT_RE_TO_RETRANSMITS].name = "to_retransmits", |
| 74 | + [BNXT_RE_SEQ_ERR_NAKS_RCVD].name = "seq_err_naks_rcvd", |
| 75 | + [BNXT_RE_MAX_RETRY_EXCEEDED].name = "max_retry_exceeded", |
| 76 | + [BNXT_RE_RNR_NAKS_RCVD].name = "rnr_naks_rcvd", |
| 77 | + [BNXT_RE_MISSING_RESP].name = "missing_resp", |
| 78 | + [BNXT_RE_UNRECOVERABLE_ERR].name = "unrecoverable_err", |
| 79 | + [BNXT_RE_BAD_RESP_ERR].name = "bad_resp_err", |
| 80 | + [BNXT_RE_LOCAL_QP_OP_ERR].name = "local_qp_op_err", |
| 81 | + [BNXT_RE_LOCAL_PROTECTION_ERR].name = "local_protection_err", |
| 82 | + [BNXT_RE_MEM_MGMT_OP_ERR].name = "mem_mgmt_op_err", |
| 83 | + [BNXT_RE_REMOTE_INVALID_REQ_ERR].name = "remote_invalid_req_err", |
| 84 | + [BNXT_RE_REMOTE_ACCESS_ERR].name = "remote_access_err", |
| 85 | + [BNXT_RE_REMOTE_OP_ERR].name = "remote_op_err", |
| 86 | + [BNXT_RE_DUP_REQ].name = "dup_req", |
| 87 | + [BNXT_RE_RES_EXCEED_MAX].name = "res_exceed_max", |
| 88 | + [BNXT_RE_RES_LENGTH_MISMATCH].name = "res_length_mismatch", |
| 89 | + [BNXT_RE_RES_EXCEEDS_WQE].name = "res_exceeds_wqe", |
| 90 | + [BNXT_RE_RES_OPCODE_ERR].name = "res_opcode_err", |
| 91 | + [BNXT_RE_RES_RX_INVALID_RKEY].name = "res_rx_invalid_rkey", |
| 92 | + [BNXT_RE_RES_RX_DOMAIN_ERR].name = "res_rx_domain_err", |
| 93 | + [BNXT_RE_RES_RX_NO_PERM].name = "res_rx_no_perm", |
| 94 | + [BNXT_RE_RES_RX_RANGE_ERR].name = "res_rx_range_err", |
| 95 | + [BNXT_RE_RES_TX_INVALID_RKEY].name = "res_tx_invalid_rkey", |
| 96 | + [BNXT_RE_RES_TX_DOMAIN_ERR].name = "res_tx_domain_err", |
| 97 | + [BNXT_RE_RES_TX_NO_PERM].name = "res_tx_no_perm", |
| 98 | + [BNXT_RE_RES_TX_RANGE_ERR].name = "res_tx_range_err", |
| 99 | + [BNXT_RE_RES_IRRQ_OFLOW].name = "res_irrq_oflow", |
| 100 | + [BNXT_RE_RES_UNSUP_OPCODE].name = "res_unsup_opcode", |
| 101 | + [BNXT_RE_RES_UNALIGNED_ATOMIC].name = "res_unaligned_atomic", |
| 102 | + [BNXT_RE_RES_REM_INV_ERR].name = "res_rem_inv_err", |
| 103 | + [BNXT_RE_RES_MEM_ERROR].name = "res_mem_err", |
| 104 | + [BNXT_RE_RES_SRQ_ERR].name = "res_srq_err", |
| 105 | + [BNXT_RE_RES_CMP_ERR].name = "res_cmp_err", |
| 106 | + [BNXT_RE_RES_INVALID_DUP_RKEY].name = "res_invalid_dup_rkey", |
| 107 | + [BNXT_RE_RES_WQE_FORMAT_ERR].name = "res_wqe_format_err", |
| 108 | + [BNXT_RE_RES_CQ_LOAD_ERR].name = "res_cq_load_err", |
| 109 | + [BNXT_RE_RES_SRQ_LOAD_ERR].name = "res_srq_load_err", |
| 110 | + [BNXT_RE_RES_TX_PCI_ERR].name = "res_tx_pci_err", |
| 111 | + [BNXT_RE_RES_RX_PCI_ERR].name = "res_rx_pci_err", |
| 112 | + [BNXT_RE_OUT_OF_SEQ_ERR].name = "oos_drop_count", |
| 113 | + [BNXT_RE_TX_ATOMIC_REQ].name = "tx_atomic_req", |
| 114 | + [BNXT_RE_TX_READ_REQ].name = "tx_read_req", |
| 115 | + [BNXT_RE_TX_READ_RES].name = "tx_read_resp", |
| 116 | + [BNXT_RE_TX_WRITE_REQ].name = "tx_write_req", |
| 117 | + [BNXT_RE_TX_SEND_REQ].name = "tx_send_req", |
| 118 | + [BNXT_RE_RX_ATOMIC_REQ].name = "rx_atomic_req", |
| 119 | + [BNXT_RE_RX_READ_REQ].name = "rx_read_req", |
| 120 | + [BNXT_RE_RX_READ_RESP].name = "rx_read_resp", |
| 121 | + [BNXT_RE_RX_WRITE_REQ].name = "rx_write_req", |
| 122 | + [BNXT_RE_RX_SEND_REQ].name = "rx_send_req", |
| 123 | + [BNXT_RE_RX_ROCE_GOOD_PKTS].name = "rx_roce_good_pkts", |
| 124 | + [BNXT_RE_RX_ROCE_GOOD_BYTES].name = "rx_roce_good_bytes", |
| 125 | + [BNXT_RE_OOB].name = "rx_out_of_buffer" |
128 | 126 | };
|
129 | 127 |
|
130 | 128 | static void bnxt_re_copy_ext_stats(struct bnxt_re_dev *rdev,
|
@@ -322,7 +320,6 @@ struct rdma_hw_stats *bnxt_re_ib_alloc_hw_port_stats(struct ib_device *ibdev,
|
322 | 320 | else
|
323 | 321 | num_counters = BNXT_RE_NUM_STD_COUNTERS;
|
324 | 322 |
|
325 |
| - return rdma_alloc_hw_stats_struct(bnxt_re_stat_name, |
326 |
| - num_counters, |
| 323 | + return rdma_alloc_hw_stats_struct(bnxt_re_stat_descs, num_counters, |
327 | 324 | RDMA_HW_STATS_DEFAULT_LIFESPAN);
|
328 | 325 | }
|
0 commit comments