xref: /linux/drivers/infiniband/hw/mana/counters.h (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*79bccd74SShiraz Saleem /* SPDX-License-Identifier: GPL-2.0-only */
2*79bccd74SShiraz Saleem /*
3*79bccd74SShiraz Saleem  * Copyright (c) 2024 Microsoft Corporation. All rights reserved.
4*79bccd74SShiraz Saleem  */
5*79bccd74SShiraz Saleem 
6*79bccd74SShiraz Saleem #ifndef _COUNTERS_H_
7*79bccd74SShiraz Saleem #define _COUNTERS_H_
8*79bccd74SShiraz Saleem 
9*79bccd74SShiraz Saleem #include "mana_ib.h"
10*79bccd74SShiraz Saleem 
11*79bccd74SShiraz Saleem enum mana_ib_port_counters {
12*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_TIMEOUT,
13*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_OOS_NAK,
14*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_RNR_NAK,
15*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_RNR_NAK,
16*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_OOS,
17*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_DUP_REQUEST,
18*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_IMPLICIT_NAK,
19*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_READRESP_PSN_MISMATCH,
20*79bccd74SShiraz Saleem 	MANA_IB_NAK_INV_REQ,
21*79bccd74SShiraz Saleem 	MANA_IB_NAK_ACCESS_ERR,
22*79bccd74SShiraz Saleem 	MANA_IB_NAK_OPP_ERR,
23*79bccd74SShiraz Saleem 	MANA_IB_NAK_INV_READ,
24*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_LOCAL_LEN_ERR,
25*79bccd74SShiraz Saleem 	MANA_IB_REQUESTOR_LOCAL_PROT_ERR,
26*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_REM_ACCESS_ERR,
27*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_LOCAL_QP_ERR,
28*79bccd74SShiraz Saleem 	MANA_IB_RESPONDER_MALFORMED_WQE,
29*79bccd74SShiraz Saleem 	MANA_IB_GENERAL_HW_ERR,
30*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_RNR_NAK_RETRIES_EXCEEDED,
31*79bccd74SShiraz Saleem 	MANA_IB_REQUESTER_RETRIES_EXCEEDED,
32*79bccd74SShiraz Saleem 	MANA_IB_TOTAL_FATAL_ERR,
33*79bccd74SShiraz Saleem 	MANA_IB_RECEIVED_CNPS,
34*79bccd74SShiraz Saleem 	MANA_IB_NUM_QPS_CONGESTED,
35*79bccd74SShiraz Saleem 	MANA_IB_RATE_INC_EVENTS,
36*79bccd74SShiraz Saleem 	MANA_IB_NUM_QPS_RECOVERED,
37*79bccd74SShiraz Saleem 	MANA_IB_CURRENT_RATE,
38*79bccd74SShiraz Saleem };
39*79bccd74SShiraz Saleem 
40*79bccd74SShiraz Saleem struct rdma_hw_stats *mana_ib_alloc_hw_port_stats(struct ib_device *ibdev,
41*79bccd74SShiraz Saleem 						  u32 port_num);
42*79bccd74SShiraz Saleem int mana_ib_get_hw_stats(struct ib_device *ibdev, struct rdma_hw_stats *stats,
43*79bccd74SShiraz Saleem 			 u32 port_num, int index);
44*79bccd74SShiraz Saleem #endif /* _COUNTERS_H_ */
45