Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/e1000/if_em.c
Show First 20 Lines • Show All 3,897 Lines • ▼ Show 20 Lines | |||||
/********************************************************************** | /********************************************************************** | ||||
* | * | ||||
* Update the board statistics counters. | * Update the board statistics counters. | ||||
* | * | ||||
**********************************************************************/ | **********************************************************************/ | ||||
static void | static void | ||||
em_update_stats_counters(struct adapter *adapter) | em_update_stats_counters(struct adapter *adapter) | ||||
{ | { | ||||
u64 prev_xoffrxc = adapter->stats.xoffrxc; | |||||
if(adapter->hw.phy.media_type == e1000_media_type_copper || | if(adapter->hw.phy.media_type == e1000_media_type_copper || | ||||
(E1000_READ_REG(&adapter->hw, E1000_STATUS) & E1000_STATUS_LU)) { | (E1000_READ_REG(&adapter->hw, E1000_STATUS) & E1000_STATUS_LU)) { | ||||
adapter->stats.symerrs += E1000_READ_REG(&adapter->hw, E1000_SYMERRS); | adapter->stats.symerrs += E1000_READ_REG(&adapter->hw, E1000_SYMERRS); | ||||
adapter->stats.sec += E1000_READ_REG(&adapter->hw, E1000_SEC); | adapter->stats.sec += E1000_READ_REG(&adapter->hw, E1000_SEC); | ||||
} | } | ||||
adapter->stats.crcerrs += E1000_READ_REG(&adapter->hw, E1000_CRCERRS); | adapter->stats.crcerrs += E1000_READ_REG(&adapter->hw, E1000_CRCERRS); | ||||
adapter->stats.mpc += E1000_READ_REG(&adapter->hw, E1000_MPC); | adapter->stats.mpc += E1000_READ_REG(&adapter->hw, E1000_MPC); | ||||
adapter->stats.scc += E1000_READ_REG(&adapter->hw, E1000_SCC); | adapter->stats.scc += E1000_READ_REG(&adapter->hw, E1000_SCC); | ||||
adapter->stats.ecol += E1000_READ_REG(&adapter->hw, E1000_ECOL); | adapter->stats.ecol += E1000_READ_REG(&adapter->hw, E1000_ECOL); | ||||
adapter->stats.mcc += E1000_READ_REG(&adapter->hw, E1000_MCC); | adapter->stats.mcc += E1000_READ_REG(&adapter->hw, E1000_MCC); | ||||
adapter->stats.latecol += E1000_READ_REG(&adapter->hw, E1000_LATECOL); | adapter->stats.latecol += E1000_READ_REG(&adapter->hw, E1000_LATECOL); | ||||
adapter->stats.colc += E1000_READ_REG(&adapter->hw, E1000_COLC); | adapter->stats.colc += E1000_READ_REG(&adapter->hw, E1000_COLC); | ||||
adapter->stats.dc += E1000_READ_REG(&adapter->hw, E1000_DC); | adapter->stats.dc += E1000_READ_REG(&adapter->hw, E1000_DC); | ||||
adapter->stats.rlec += E1000_READ_REG(&adapter->hw, E1000_RLEC); | adapter->stats.rlec += E1000_READ_REG(&adapter->hw, E1000_RLEC); | ||||
adapter->stats.xonrxc += E1000_READ_REG(&adapter->hw, E1000_XONRXC); | adapter->stats.xonrxc += E1000_READ_REG(&adapter->hw, E1000_XONRXC); | ||||
adapter->stats.xontxc += E1000_READ_REG(&adapter->hw, E1000_XONTXC); | adapter->stats.xontxc += E1000_READ_REG(&adapter->hw, E1000_XONTXC); | ||||
adapter->stats.xoffrxc += E1000_READ_REG(&adapter->hw, E1000_XOFFRXC); | adapter->stats.xoffrxc += E1000_READ_REG(&adapter->hw, E1000_XOFFRXC); | ||||
/* | /* | ||||
** For watchdog management we need to know if we have been | ** For watchdog management we need to know if we have been | ||||
** paused during the last interval, so capture that here. | ** paused during the last interval, so capture that here. | ||||
*/ | */ | ||||
adapter->shared->isc_pause_frames = adapter->stats.xoffrxc; | if (adapter->stats.xoffrxc != prev_xoffrxc) | ||||
adapter->shared->isc_pause_frames = 1; | |||||
adapter->stats.xofftxc += E1000_READ_REG(&adapter->hw, E1000_XOFFTXC); | adapter->stats.xofftxc += E1000_READ_REG(&adapter->hw, E1000_XOFFTXC); | ||||
adapter->stats.fcruc += E1000_READ_REG(&adapter->hw, E1000_FCRUC); | adapter->stats.fcruc += E1000_READ_REG(&adapter->hw, E1000_FCRUC); | ||||
adapter->stats.prc64 += E1000_READ_REG(&adapter->hw, E1000_PRC64); | adapter->stats.prc64 += E1000_READ_REG(&adapter->hw, E1000_PRC64); | ||||
adapter->stats.prc127 += E1000_READ_REG(&adapter->hw, E1000_PRC127); | adapter->stats.prc127 += E1000_READ_REG(&adapter->hw, E1000_PRC127); | ||||
adapter->stats.prc255 += E1000_READ_REG(&adapter->hw, E1000_PRC255); | adapter->stats.prc255 += E1000_READ_REG(&adapter->hw, E1000_PRC255); | ||||
adapter->stats.prc511 += E1000_READ_REG(&adapter->hw, E1000_PRC511); | adapter->stats.prc511 += E1000_READ_REG(&adapter->hw, E1000_PRC511); | ||||
adapter->stats.prc1023 += E1000_READ_REG(&adapter->hw, E1000_PRC1023); | adapter->stats.prc1023 += E1000_READ_REG(&adapter->hw, E1000_PRC1023); | ||||
adapter->stats.prc1522 += E1000_READ_REG(&adapter->hw, E1000_PRC1522); | adapter->stats.prc1522 += E1000_READ_REG(&adapter->hw, E1000_PRC1522); | ||||
▲ Show 20 Lines • Show All 657 Lines • Show Last 20 Lines |