diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-10-27 16:49:27 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-28 09:20:16 +0100 |
commit | 047e0030f1e601233ae5b03910602ec93c620bce (patch) | |
tree | 3d9cd1d339b150277fe424e7fc9f3aa2a9716665 /drivers/net/igb/igb_ethtool.c | |
parent | atl1c: duplicate atl1c_get_tpd (diff) | |
download | linux-047e0030f1e601233ae5b03910602ec93c620bce.tar.xz linux-047e0030f1e601233ae5b03910602ec93c620bce.zip |
igb: add new data structure for handling interrupts and NAPI
Add a new igb_q_vector data structure to handle interrupts and NAPI. This
helps to abstract the rings away from the adapter struct. In addition it
allows for a bit of consolidation since a tx and rx ring can share a
q_vector.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/igb_ethtool.c')
-rw-r--r-- | drivers/net/igb/igb_ethtool.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c index dafb25bfd9e1..f71276fec3ff 100644 --- a/drivers/net/igb/igb_ethtool.c +++ b/drivers/net/igb/igb_ethtool.c @@ -1907,7 +1907,6 @@ static int igb_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec) { struct igb_adapter *adapter = netdev_priv(netdev); - struct e1000_hw *hw = &adapter->hw; int i; if ((ec->rx_coalesce_usecs > IGB_MAX_ITR_USECS) || @@ -1925,8 +1924,11 @@ static int igb_set_coalesce(struct net_device *netdev, adapter->itr = adapter->itr_setting; } - for (i = 0; i < adapter->num_rx_queues; i++) - wr32(adapter->rx_ring[i].itr_register, adapter->itr); + for (i = 0; i < adapter->num_q_vectors; i++) { + struct igb_q_vector *q_vector = adapter->q_vector[i]; + q_vector->itr_val = adapter->itr; + q_vector->set_itr = 1; + } return 0; } |