xref: /linux/drivers/infiniband/hw/mana/counters.h (revision 7ce4de1cdaf11c39b507008dfb5a4e59079d4e8a)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2024 Microsoft Corporation. All rights reserved.
4  */
5 
6 #ifndef _COUNTERS_H_
7 #define _COUNTERS_H_
8 
9 #include "mana_ib.h"
10 
11 enum mana_ib_port_counters {
12 	MANA_IB_REQUESTER_TIMEOUT,
13 	MANA_IB_REQUESTER_OOS_NAK,
14 	MANA_IB_REQUESTER_RNR_NAK,
15 	MANA_IB_RESPONDER_RNR_NAK,
16 	MANA_IB_RESPONDER_OOS,
17 	MANA_IB_RESPONDER_DUP_REQUEST,
18 	MANA_IB_REQUESTER_IMPLICIT_NAK,
19 	MANA_IB_REQUESTER_READRESP_PSN_MISMATCH,
20 	MANA_IB_NAK_INV_REQ,
21 	MANA_IB_NAK_ACCESS_ERR,
22 	MANA_IB_NAK_OPP_ERR,
23 	MANA_IB_NAK_INV_READ,
24 	MANA_IB_RESPONDER_LOCAL_LEN_ERR,
25 	MANA_IB_REQUESTOR_LOCAL_PROT_ERR,
26 	MANA_IB_RESPONDER_REM_ACCESS_ERR,
27 	MANA_IB_RESPONDER_LOCAL_QP_ERR,
28 	MANA_IB_RESPONDER_MALFORMED_WQE,
29 	MANA_IB_GENERAL_HW_ERR,
30 	MANA_IB_REQUESTER_RNR_NAK_RETRIES_EXCEEDED,
31 	MANA_IB_REQUESTER_RETRIES_EXCEEDED,
32 	MANA_IB_TOTAL_FATAL_ERR,
33 	MANA_IB_RECEIVED_CNPS,
34 	MANA_IB_NUM_QPS_CONGESTED,
35 	MANA_IB_RATE_INC_EVENTS,
36 	MANA_IB_NUM_QPS_RECOVERED,
37 	MANA_IB_CURRENT_RATE,
38 	MANA_IB_DUP_RX_REQ,
39 	MANA_IB_TX_BYTES,
40 	MANA_IB_RX_BYTES,
41 	MANA_IB_RX_SEND_REQ,
42 	MANA_IB_RX_WRITE_REQ,
43 	MANA_IB_RX_READ_REQ,
44 	MANA_IB_TX_PKT,
45 	MANA_IB_RX_PKT,
46 };
47 
48 enum mana_ib_device_counters {
49 	MANA_IB_SENT_CNPS,
50 	MANA_IB_RECEIVED_ECNS,
51 	MANA_IB_RECEIVED_CNP_COUNT,
52 	MANA_IB_QP_CONGESTED_EVENTS,
53 	MANA_IB_QP_RECOVERED_EVENTS,
54 	MANA_IB_DEV_RATE_INC_EVENTS,
55 };
56 
57 struct rdma_hw_stats *mana_ib_alloc_hw_port_stats(struct ib_device *ibdev,
58 						  u32 port_num);
59 struct rdma_hw_stats *mana_ib_alloc_hw_device_stats(struct ib_device *ibdev);
60 int mana_ib_get_hw_stats(struct ib_device *ibdev, struct rdma_hw_stats *stats,
61 			 u32 port_num, int index);
62 #endif /* _COUNTERS_H_ */
63