diff options
author | stephen hemminger <shemminger@vyatta.com> | 2011-06-08 10:53:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-06-09 02:26:32 -0400 |
commit | 95305f6c3b4e8c0bdd5044604c418a8ad2defc4e (patch) | |
tree | a1c31e21427b48b270431660291e714cf1c3477a /drivers/net/vmxnet3/vmxnet3_ethtool.c | |
parent | 4b9d9be839fdb7dcd7ce7619a623fd9015a50cda (diff) |
vmxnet3: convert to 64 bit stats interface
Convert vmxnet3 driver to 64 bit statistics interface.
This driver was already counting packet per queue in a 64 bit value so not
a huge change. Eliminate unused old net_device_stats structure.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Scott J. Goldman <scottjg@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vmxnet3/vmxnet3_ethtool.c')
-rw-r--r-- | drivers/net/vmxnet3/vmxnet3_ethtool.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/drivers/net/vmxnet3/vmxnet3_ethtool.c b/drivers/net/vmxnet3/vmxnet3_ethtool.c index dc959fe27aa5..bba7c15de5b6 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethtool.c +++ b/drivers/net/vmxnet3/vmxnet3_ethtool.c | |||
@@ -113,15 +113,15 @@ vmxnet3_global_stats[] = { | |||
113 | }; | 113 | }; |
114 | 114 | ||
115 | 115 | ||
116 | struct net_device_stats * | 116 | struct rtnl_link_stats64 * |
117 | vmxnet3_get_stats(struct net_device *netdev) | 117 | vmxnet3_get_stats64(struct net_device *netdev, |
118 | struct rtnl_link_stats64 *stats) | ||
118 | { | 119 | { |
119 | struct vmxnet3_adapter *adapter; | 120 | struct vmxnet3_adapter *adapter; |
120 | struct vmxnet3_tq_driver_stats *drvTxStats; | 121 | struct vmxnet3_tq_driver_stats *drvTxStats; |
121 | struct vmxnet3_rq_driver_stats *drvRxStats; | 122 | struct vmxnet3_rq_driver_stats *drvRxStats; |
122 | struct UPT1_TxStats *devTxStats; | 123 | struct UPT1_TxStats *devTxStats; |
123 | struct UPT1_RxStats *devRxStats; | 124 | struct UPT1_RxStats *devRxStats; |
124 | struct net_device_stats *net_stats = &netdev->stats; | ||
125 | unsigned long flags; | 125 | unsigned long flags; |
126 | int i; | 126 | int i; |
127 | 127 | ||
@@ -132,36 +132,36 @@ vmxnet3_get_stats(struct net_device *netdev) | |||
132 | VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS); | 132 | VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS); |
133 | spin_unlock_irqrestore(&adapter->cmd_lock, flags); | 133 | spin_unlock_irqrestore(&adapter->cmd_lock, flags); |
134 | 134 | ||
135 | memset(net_stats, 0, sizeof(*net_stats)); | ||
136 | for (i = 0; i < adapter->num_tx_queues; i++) { | 135 | for (i = 0; i < adapter->num_tx_queues; i++) { |
137 | devTxStats = &adapter->tqd_start[i].stats; | 136 | devTxStats = &adapter->tqd_start[i].stats; |
138 | drvTxStats = &adapter->tx_queue[i].stats; | 137 | drvTxStats = &adapter->tx_queue[i].stats; |
139 | net_stats->tx_packets += devTxStats->ucastPktsTxOK + | 138 | stats->tx_packets += devTxStats->ucastPktsTxOK + |
140 | devTxStats->mcastPktsTxOK + | 139 | devTxStats->mcastPktsTxOK + |
141 | devTxStats->bcastPktsTxOK; | 140 | devTxStats->bcastPktsTxOK; |
142 | net_stats->tx_bytes += devTxStats->ucastBytesTxOK + | 141 | stats->tx_bytes += devTxStats->ucastBytesTxOK + |
143 | devTxStats->mcastBytesTxOK + | 142 | devTxStats->mcastBytesTxOK + |
144 | devTxStats->bcastBytesTxOK; | 143 | devTxStats->bcastBytesTxOK; |
145 | net_stats->tx_errors += devTxStats->pktsTxError; | 144 | stats->tx_errors += devTxStats->pktsTxError; |
146 | net_stats->tx_dropped += drvTxStats->drop_total; | 145 | stats->tx_dropped += drvTxStats->drop_total; |
147 | } | 146 | } |
148 | 147 | ||
149 | for (i = 0; i < adapter->num_rx_queues; i++) { | 148 | for (i = 0; i < adapter->num_rx_queues; i++) { |
150 | devRxStats = &adapter->rqd_start[i].stats; | 149 | devRxStats = &adapter->rqd_start[i].stats; |
151 | drvRxStats = &adapter->rx_queue[i].stats; | 150 | drvRxStats = &adapter->rx_queue[i].stats; |
152 | net_stats->rx_packets += devRxStats->ucastPktsRxOK + | 151 | stats->rx_packets += devRxStats->ucastPktsRxOK + |
153 | devRxStats->mcastPktsRxOK + | 152 | devRxStats->mcastPktsRxOK + |
154 | devRxStats->bcastPktsRxOK; | 153 | devRxStats->bcastPktsRxOK; |
155 | 154 | ||
156 | net_stats->rx_bytes += devRxStats->ucastBytesRxOK + | 155 | stats->rx_bytes += devRxStats->ucastBytesRxOK + |
157 | devRxStats->mcastBytesRxOK + | 156 | devRxStats->mcastBytesRxOK + |
158 | devRxStats->bcastBytesRxOK; | 157 | devRxStats->bcastBytesRxOK; |
159 | 158 | ||
160 | net_stats->rx_errors += devRxStats->pktsRxError; | 159 | stats->rx_errors += devRxStats->pktsRxError; |
161 | net_stats->rx_dropped += drvRxStats->drop_total; | 160 | stats->rx_dropped += drvRxStats->drop_total; |
162 | net_stats->multicast += devRxStats->mcastPktsRxOK; | 161 | stats->multicast += devRxStats->mcastPktsRxOK; |
163 | } | 162 | } |
164 | return net_stats; | 163 | |
164 | return stats; | ||
165 | } | 165 | } |
166 | 166 | ||
167 | static int | 167 | static int |