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 }; 39 40 struct rdma_hw_stats *mana_ib_alloc_hw_port_stats(struct ib_device *ibdev, 41 u32 port_num); 42 int mana_ib_get_hw_stats(struct ib_device *ibdev, struct rdma_hw_stats *stats, 43 u32 port_num, int index); 44 #endif /* _COUNTERS_H_ */ 45