xref: /dpdk/drivers/common/sfc_efx/base/mcdi_mon.h (revision 672386c1e9e1f64f7aa3b1360ad22dc737ea8d72)
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