aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2011-05-19 08:12:51 -0400
committerDavid S. Miller <davem@davemloft.net>2011-05-19 18:00:00 -0400
commit4452d0999906e3e26b718566362e943fcaa3d694 (patch)
tree124fa03691574ffb7e290bff82552915a04a5f7b /drivers/net/tg3.h
parent54e0a67f446fae290f99781691eba46c5cda66e7 (diff)
tg3: Fix stats for 5704 and later devices
Commit 4d95847381228639844c7197deb8b2211274ef22, entitled "tg3: Workaround rx_discards stat bug" modified the hardware statistics data structure. The modification shifted the statistics so that the labels no longer corresponded to the counter values. This patch fixes the problem by utilizing reserved space for the new counters. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.h')
-rw-r--r--drivers/net/tg3.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 83f45bf0a08e..5b3d2f34da7a 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -2620,7 +2620,6 @@ struct tg3_hw_stats {
2620 tg3_stat64_t dma_write_prioq_full; 2620 tg3_stat64_t dma_write_prioq_full;
2621 tg3_stat64_t rxbds_empty; 2621 tg3_stat64_t rxbds_empty;
2622 tg3_stat64_t rx_discards; 2622 tg3_stat64_t rx_discards;
2623 tg3_stat64_t mbuf_lwm_thresh_hit;
2624 tg3_stat64_t rx_errors; 2623 tg3_stat64_t rx_errors;
2625 tg3_stat64_t rx_threshold_hit; 2624 tg3_stat64_t rx_threshold_hit;
2626 2625
@@ -2639,7 +2638,12 @@ struct tg3_hw_stats {
2639 tg3_stat64_t nic_avoided_irqs; 2638 tg3_stat64_t nic_avoided_irqs;
2640 tg3_stat64_t nic_tx_threshold_hit; 2639 tg3_stat64_t nic_tx_threshold_hit;
2641 2640
2642 u8 __reserved4[0xb00-0x9c0]; 2641 /* NOT a part of the hardware statistics block format.
2642 * These stats are here as storage for tg3_periodic_fetch_stats().
2643 */
2644 tg3_stat64_t mbuf_lwm_thresh_hit;
2645
2646 u8 __reserved4[0xb00-0x9c8];
2643}; 2647};
2644 2648
2645/* 'mapping' is superfluous as the chip does not write into 2649/* 'mapping' is superfluous as the chip does not write into
@@ -2771,6 +2775,8 @@ struct tg3_ethtool_stats {
2771 u64 nic_irqs; 2775 u64 nic_irqs;
2772 u64 nic_avoided_irqs; 2776 u64 nic_avoided_irqs;
2773 u64 nic_tx_threshold_hit; 2777 u64 nic_tx_threshold_hit;
2778
2779 u64 mbuf_lwm_thresh_hit;
2774}; 2780};
2775 2781
2776struct tg3_rx_prodring_set { 2782struct tg3_rx_prodring_set {