Commit 0add79e3 authored by Tobias Klauser's avatar Tobias Klauser Committed by David S. Miller

tehuti: Use net_device_stats from struct net_device

struct net_device has its own struct net_device_stats member, so use
this one instead of a private copy in the bdx_priv struct.
Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5dbfbc40
...@@ -927,13 +927,6 @@ static void bdx_update_stats(struct bdx_priv *priv) ...@@ -927,13 +927,6 @@ static void bdx_update_stats(struct bdx_priv *priv)
BDX_ASSERT((sizeof(struct bdx_stats) / sizeof(u64)) != i); BDX_ASSERT((sizeof(struct bdx_stats) / sizeof(u64)) != i);
} }
static struct net_device_stats *bdx_get_stats(struct net_device *ndev)
{
struct bdx_priv *priv = netdev_priv(ndev);
struct net_device_stats *net_stat = &priv->net_stats;
return net_stat;
}
static void print_rxdd(struct rxd_desc *rxdd, u32 rxd_val1, u16 len, static void print_rxdd(struct rxd_desc *rxdd, u32 rxd_val1, u16 len,
u16 rxd_vlan); u16 rxd_vlan);
static void print_rxfd(struct rxf_desc *rxfd); static void print_rxfd(struct rxf_desc *rxfd);
...@@ -1220,6 +1213,7 @@ static void bdx_recycle_skb(struct bdx_priv *priv, struct rxd_desc *rxdd) ...@@ -1220,6 +1213,7 @@ static void bdx_recycle_skb(struct bdx_priv *priv, struct rxd_desc *rxdd)
static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget) static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget)
{ {
struct net_device *ndev = priv->ndev;
struct sk_buff *skb, *skb2; struct sk_buff *skb, *skb2;
struct rxd_desc *rxdd; struct rxd_desc *rxdd;
struct rx_map *dm; struct rx_map *dm;
...@@ -1273,7 +1267,7 @@ static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget) ...@@ -1273,7 +1267,7 @@ static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget)
if (unlikely(GET_RXD_ERR(rxd_val1))) { if (unlikely(GET_RXD_ERR(rxd_val1))) {
DBG("rxd_err = 0x%x\n", GET_RXD_ERR(rxd_val1)); DBG("rxd_err = 0x%x\n", GET_RXD_ERR(rxd_val1));
priv->net_stats.rx_errors++; ndev->stats.rx_errors++;
bdx_recycle_skb(priv, rxdd); bdx_recycle_skb(priv, rxdd);
continue; continue;
} }
...@@ -1300,11 +1294,11 @@ static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget) ...@@ -1300,11 +1294,11 @@ static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget)
bdx_rxdb_free_elem(db, rxdd->va_lo); bdx_rxdb_free_elem(db, rxdd->va_lo);
} }
priv->net_stats.rx_bytes += len; ndev->stats.rx_bytes += len;
skb_put(skb, len); skb_put(skb, len);
skb->ip_summed = CHECKSUM_UNNECESSARY; skb->ip_summed = CHECKSUM_UNNECESSARY;
skb->protocol = eth_type_trans(skb, priv->ndev); skb->protocol = eth_type_trans(skb, ndev);
/* Non-IP packets aren't checksum-offloaded */ /* Non-IP packets aren't checksum-offloaded */
if (GET_RXD_PKT_ID(rxd_val1) == 0) if (GET_RXD_PKT_ID(rxd_val1) == 0)
...@@ -1316,7 +1310,7 @@ static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget) ...@@ -1316,7 +1310,7 @@ static int bdx_rx_receive(struct bdx_priv *priv, struct rxd_fifo *f, int budget)
break; break;
} }
priv->net_stats.rx_packets += done; ndev->stats.rx_packets += done;
/* FIXME: do smth to minimize pci accesses */ /* FIXME: do smth to minimize pci accesses */
WRITE_REG(priv, f->m.reg_RPTR, f->m.rptr & TXF_WPTR_WR_PTR); WRITE_REG(priv, f->m.reg_RPTR, f->m.rptr & TXF_WPTR_WR_PTR);
...@@ -1712,8 +1706,8 @@ static netdev_tx_t bdx_tx_transmit(struct sk_buff *skb, ...@@ -1712,8 +1706,8 @@ static netdev_tx_t bdx_tx_transmit(struct sk_buff *skb,
#ifdef BDX_LLTX #ifdef BDX_LLTX
ndev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */ ndev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */
#endif #endif
priv->net_stats.tx_packets++; ndev->stats.tx_packets++;
priv->net_stats.tx_bytes += skb->len; ndev->stats.tx_bytes += skb->len;
if (priv->tx_level < BDX_MIN_TX_LEVEL) { if (priv->tx_level < BDX_MIN_TX_LEVEL) {
DBG("%s: %s: TX Q STOP level %d\n", DBG("%s: %s: TX Q STOP level %d\n",
...@@ -1888,7 +1882,6 @@ static const struct net_device_ops bdx_netdev_ops = { ...@@ -1888,7 +1882,6 @@ static const struct net_device_ops bdx_netdev_ops = {
.ndo_validate_addr = eth_validate_addr, .ndo_validate_addr = eth_validate_addr,
.ndo_do_ioctl = bdx_ioctl, .ndo_do_ioctl = bdx_ioctl,
.ndo_set_multicast_list = bdx_setmulti, .ndo_set_multicast_list = bdx_setmulti,
.ndo_get_stats = bdx_get_stats,
.ndo_change_mtu = bdx_change_mtu, .ndo_change_mtu = bdx_change_mtu,
.ndo_set_mac_address = bdx_set_mac, .ndo_set_mac_address = bdx_set_mac,
.ndo_vlan_rx_register = bdx_vlan_rx_register, .ndo_vlan_rx_register = bdx_vlan_rx_register,
......
...@@ -269,7 +269,6 @@ struct bdx_priv { ...@@ -269,7 +269,6 @@ struct bdx_priv {
u32 msg_enable; u32 msg_enable;
int stats_flag; int stats_flag;
struct bdx_stats hw_stats; struct bdx_stats hw_stats;
struct net_device_stats net_stats;
struct pci_dev *pdev; struct pci_dev *pdev;
struct pci_nic *nic; struct pci_nic *nic;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment