e1000: 3 new driver stats for managability testing

Add 3 extra packet redirect counters for tracking purposes to make sure
we can test that all packets arrive properly.

Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>,
rewritten to use feature flags by me.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Jeff Garzik 2006-12-15 11:16:33 -05:00
parent 1f753861d2
commit 15e376b4ee
4 changed files with 14 additions and 0 deletions

View File

@ -100,6 +100,9 @@ static const struct e1000_stats e1000_gstrings_stats[] = {
{ "rx_csum_offload_errors", E1000_STAT(hw_csum_err) },
{ "rx_header_split", E1000_STAT(rx_hdr_split) },
{ "alloc_rx_buff_failed", E1000_STAT(alloc_rx_buff_failed) },
{ "tx_smbus", E1000_STAT(stats.mgptc) },
{ "rx_smbus", E1000_STAT(stats.mgprc) },
{ "dropped_smbus", E1000_STAT(stats.mgpdc) },
};
#define E1000_QUEUE_STATS_LEN 0

View File

@ -458,6 +458,9 @@ e1000_set_mac_type(struct e1000_hw *hw)
if (hw->mac_type == e1000_80003es2lan)
hw->rx_needs_kicking = TRUE;
if (hw->mac_type > e1000_82544)
hw->has_smbus = TRUE;
return E1000_SUCCESS;
}

View File

@ -1464,6 +1464,7 @@ struct e1000_hw {
boolean_t bad_tx_carr_stats_fd;
boolean_t has_manc2h;
boolean_t rx_needs_kicking;
boolean_t has_smbus;
};

View File

@ -3743,6 +3743,13 @@ e1000_update_stats(struct e1000_adapter *adapter)
adapter->phy_stats.receive_errors += phy_tmp;
}
/* Management Stats */
if (adapter->hw.has_smbus) {
adapter->stats.mgptc += E1000_READ_REG(hw, MGTPTC);
adapter->stats.mgprc += E1000_READ_REG(hw, MGTPRC);
adapter->stats.mgpdc += E1000_READ_REG(hw, MGTPDC);
}
spin_unlock_irqrestore(&adapter->stats_lock, flags);
}
#ifdef CONFIG_PCI_MSI