15e111ed8SAndrew Rybchenko /* SPDX-License-Identifier: BSD-3-Clause 25e111ed8SAndrew Rybchenko * 3*672386c1SAndrew Rybchenko * Copyright(c) 2019-2021 Xilinx, Inc. 45e111ed8SAndrew Rybchenko * Copyright(c) 2009-2019 Solarflare Communications Inc. 55e111ed8SAndrew Rybchenko */ 65e111ed8SAndrew Rybchenko 75e111ed8SAndrew Rybchenko #ifndef _SYS_MCDI_MON_H 85e111ed8SAndrew Rybchenko #define _SYS_MCDI_MON_H 95e111ed8SAndrew Rybchenko 105e111ed8SAndrew Rybchenko #include "efx.h" 115e111ed8SAndrew Rybchenko 125e111ed8SAndrew Rybchenko #ifdef __cplusplus 135e111ed8SAndrew Rybchenko extern "C" { 145e111ed8SAndrew Rybchenko #endif 155e111ed8SAndrew Rybchenko 165e111ed8SAndrew Rybchenko #if EFSYS_OPT_MON_MCDI 175e111ed8SAndrew Rybchenko 185e111ed8SAndrew Rybchenko #if EFSYS_OPT_MON_STATS 195e111ed8SAndrew Rybchenko 205e111ed8SAndrew Rybchenko LIBEFX_INTERNAL 215e111ed8SAndrew Rybchenko extern __checkReturn efx_rc_t 225e111ed8SAndrew Rybchenko mcdi_mon_cfg_build( 235e111ed8SAndrew Rybchenko __in efx_nic_t *enp); 245e111ed8SAndrew Rybchenko 255e111ed8SAndrew Rybchenko LIBEFX_INTERNAL 265e111ed8SAndrew Rybchenko extern void 275e111ed8SAndrew Rybchenko mcdi_mon_cfg_free( 285e111ed8SAndrew Rybchenko __in efx_nic_t *enp); 295e111ed8SAndrew Rybchenko 305e111ed8SAndrew Rybchenko 315e111ed8SAndrew Rybchenko LIBEFX_INTERNAL 325e111ed8SAndrew Rybchenko extern __checkReturn efx_rc_t 335e111ed8SAndrew Rybchenko mcdi_mon_ev( 345e111ed8SAndrew Rybchenko __in efx_nic_t *enp, 355e111ed8SAndrew Rybchenko __in efx_qword_t *eqp, 365e111ed8SAndrew Rybchenko __out efx_mon_stat_t *idp, 375e111ed8SAndrew Rybchenko __out efx_mon_stat_value_t *valuep); 385e111ed8SAndrew Rybchenko 395e111ed8SAndrew Rybchenko LIBEFX_INTERNAL 405e111ed8SAndrew Rybchenko extern __checkReturn efx_rc_t 415e111ed8SAndrew Rybchenko mcdi_mon_stats_update( 425e111ed8SAndrew Rybchenko __in efx_nic_t *enp, 435e111ed8SAndrew Rybchenko __in efsys_mem_t *esmp, 445e111ed8SAndrew Rybchenko __inout_ecount(EFX_MON_NSTATS) efx_mon_stat_value_t *values); 455e111ed8SAndrew Rybchenko 465e111ed8SAndrew Rybchenko LIBEFX_INTERNAL 475e111ed8SAndrew Rybchenko extern __checkReturn efx_rc_t 485e111ed8SAndrew Rybchenko mcdi_mon_limits_update( 495e111ed8SAndrew Rybchenko __in efx_nic_t *enp, 505e111ed8SAndrew Rybchenko __inout_ecount(EFX_MON_NSTATS) efx_mon_stat_limits_t *values); 515e111ed8SAndrew Rybchenko 525e111ed8SAndrew Rybchenko #endif /* EFSYS_OPT_MON_STATS */ 535e111ed8SAndrew Rybchenko 545e111ed8SAndrew Rybchenko #endif /* EFSYS_OPT_MON_MCDI */ 555e111ed8SAndrew Rybchenko 565e111ed8SAndrew Rybchenko #ifdef __cplusplus 575e111ed8SAndrew Rybchenko } 585e111ed8SAndrew Rybchenko #endif 595e111ed8SAndrew Rybchenko 605e111ed8SAndrew Rybchenko #endif /* _SYS_MCDI_MON_H */ 61