/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2024 Microsoft Corporation. All rights reserved. */ #ifndef _COUNTERS_H_ #define _COUNTERS_H_ #include "mana_ib.h" enum mana_ib_port_counters { MANA_IB_REQUESTER_TIMEOUT, MANA_IB_REQUESTER_OOS_NAK, MANA_IB_REQUESTER_RNR_NAK, MANA_IB_RESPONDER_RNR_NAK, MANA_IB_RESPONDER_OOS, MANA_IB_RESPONDER_DUP_REQUEST, MANA_IB_REQUESTER_IMPLICIT_NAK, MANA_IB_REQUESTER_READRESP_PSN_MISMATCH, MANA_IB_NAK_INV_REQ, MANA_IB_NAK_ACCESS_ERR, MANA_IB_NAK_OPP_ERR, MANA_IB_NAK_INV_READ, MANA_IB_RESPONDER_LOCAL_LEN_ERR, MANA_IB_REQUESTOR_LOCAL_PROT_ERR, MANA_IB_RESPONDER_REM_ACCESS_ERR, MANA_IB_RESPONDER_LOCAL_QP_ERR, MANA_IB_RESPONDER_MALFORMED_WQE, MANA_IB_GENERAL_HW_ERR, MANA_IB_REQUESTER_RNR_NAK_RETRIES_EXCEEDED, MANA_IB_REQUESTER_RETRIES_EXCEEDED, MANA_IB_TOTAL_FATAL_ERR, MANA_IB_RECEIVED_CNPS, MANA_IB_NUM_QPS_CONGESTED, MANA_IB_RATE_INC_EVENTS, MANA_IB_NUM_QPS_RECOVERED, MANA_IB_CURRENT_RATE, MANA_IB_DUP_RX_REQ, MANA_IB_TX_BYTES, MANA_IB_RX_BYTES, MANA_IB_RX_SEND_REQ, MANA_IB_RX_WRITE_REQ, MANA_IB_RX_READ_REQ, MANA_IB_TX_PKT, MANA_IB_RX_PKT, }; enum mana_ib_device_counters { MANA_IB_SENT_CNPS, MANA_IB_RECEIVED_ECNS, MANA_IB_RECEIVED_CNP_COUNT, MANA_IB_QP_CONGESTED_EVENTS, MANA_IB_QP_RECOVERED_EVENTS, MANA_IB_DEV_RATE_INC_EVENTS, }; struct rdma_hw_stats *mana_ib_alloc_hw_port_stats(struct ib_device *ibdev, u32 port_num); struct rdma_hw_stats *mana_ib_alloc_hw_device_stats(struct ib_device *ibdev); int mana_ib_get_hw_stats(struct ib_device *ibdev, struct rdma_hw_stats *stats, u32 port_num, int index); #endif /* _COUNTERS_H_ */