Page MenuHomeFreeBSD

D18064.id50660.diff
No OneTemporary

D18064.id50660.diff

Index: sys/dev/sfxge/common/efx.h
===================================================================
--- sys/dev/sfxge/common/efx.h
+++ sys/dev/sfxge/common/efx.h
@@ -566,6 +566,10 @@
#define EFX_MAC_STATS_SIZE 0x400
+extern __checkReturn efx_rc_t
+efx_mac_stats_clear(
+ __in efx_nic_t *enp);
+
/*
* Upload mac statistics supported by the hardware into the given buffer.
*
Index: sys/dev/sfxge/common/efx_impl.h
===================================================================
--- sys/dev/sfxge/common/efx_impl.h
+++ sys/dev/sfxge/common/efx_impl.h
@@ -202,6 +202,7 @@
#endif /* EFSYS_OPT_LOOPBACK */
#if EFSYS_OPT_MAC_STATS
efx_rc_t (*emo_stats_get_mask)(efx_nic_t *, uint32_t *, size_t);
+ efx_rc_t (*emo_stats_clear)(efx_nic_t *);
efx_rc_t (*emo_stats_upload)(efx_nic_t *, efsys_mem_t *);
efx_rc_t (*emo_stats_periodic)(efx_nic_t *, efsys_mem_t *,
uint16_t, boolean_t);
Index: sys/dev/sfxge/common/efx_mac.c
===================================================================
--- sys/dev/sfxge/common/efx_mac.c
+++ sys/dev/sfxge/common/efx_mac.c
@@ -60,6 +60,7 @@
#endif /* EFSYS_OPT_LOOPBACK */
#if EFSYS_OPT_MAC_STATS
siena_mac_stats_get_mask, /* emo_stats_get_mask */
+ efx_mcdi_mac_stats_clear, /* emo_stats_clear */
efx_mcdi_mac_stats_upload, /* emo_stats_upload */
efx_mcdi_mac_stats_periodic, /* emo_stats_periodic */
siena_mac_stats_update /* emo_stats_update */
@@ -84,6 +85,7 @@
#endif /* EFSYS_OPT_LOOPBACK */
#if EFSYS_OPT_MAC_STATS
ef10_mac_stats_get_mask, /* emo_stats_get_mask */
+ efx_mcdi_mac_stats_clear, /* emo_stats_clear */
efx_mcdi_mac_stats_upload, /* emo_stats_upload */
efx_mcdi_mac_stats_periodic, /* emo_stats_periodic */
ef10_mac_stats_update /* emo_stats_update */
@@ -712,6 +714,29 @@
return (0);
+fail1:
+ EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+ return (rc);
+}
+
+ __checkReturn efx_rc_t
+efx_mac_stats_clear(
+ __in efx_nic_t *enp)
+{
+ efx_port_t *epp = &(enp->en_port);
+ const efx_mac_ops_t *emop = epp->ep_emop;
+ efx_rc_t rc;
+
+ EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
+ EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT);
+ EFSYS_ASSERT(emop != NULL);
+
+ if ((rc = emop->emo_stats_clear(enp)) != 0)
+ goto fail1;
+
+ return (0);
+
fail1:
EFSYS_PROBE1(fail1, efx_rc_t, rc);

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 9:09 AM (17 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31967277
Default Alt Text
D18064.id50660.diff (2 KB)

Event Timeline