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