diff options
author | Divy Le Ray <divy@chelsio.com> | 2009-05-29 08:52:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-29 18:55:03 -0400 |
commit | c3a8c5b644118b5e2cfd0690b1dcea904a792c52 (patch) | |
tree | 40ca876db94376d3f30fdf80e2b6001e84cbc13f /drivers/net/cxgb3 | |
parent | 080c82550dc1dc3c0d4207ce32d7a8d0ae96fba5 (diff) |
cxgb3: move away from LLTX
cxgb3 no longer advertizes LLTX.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3')
-rw-r--r-- | drivers/net/cxgb3/cxgb3_main.c | 1 | ||||
-rw-r--r-- | drivers/net/cxgb3/sge.c | 17 |
2 files changed, 7 insertions, 11 deletions
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index 0b87fee023f..1fe4b070c6d 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c | |||
@@ -3059,7 +3059,6 @@ static int __devinit init_one(struct pci_dev *pdev, | |||
3059 | netdev->mem_start = mmio_start; | 3059 | netdev->mem_start = mmio_start; |
3060 | netdev->mem_end = mmio_start + mmio_len - 1; | 3060 | netdev->mem_end = mmio_start + mmio_len - 1; |
3061 | netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO; | 3061 | netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO; |
3062 | netdev->features |= NETIF_F_LLTX; | ||
3063 | netdev->features |= NETIF_F_GRO; | 3062 | netdev->features |= NETIF_F_GRO; |
3064 | if (pci_using_dac) | 3063 | if (pci_using_dac) |
3065 | netdev->features |= NETIF_F_HIGHDMA; | 3064 | netdev->features |= NETIF_F_HIGHDMA; |
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index 49e64af7b09..0b978827874 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -1241,7 +1241,6 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1241 | q = &qs->txq[TXQ_ETH]; | 1241 | q = &qs->txq[TXQ_ETH]; |
1242 | txq = netdev_get_tx_queue(dev, qidx); | 1242 | txq = netdev_get_tx_queue(dev, qidx); |
1243 | 1243 | ||
1244 | spin_lock(&q->lock); | ||
1245 | reclaim_completed_tx(adap, q, TX_RECLAIM_CHUNK); | 1244 | reclaim_completed_tx(adap, q, TX_RECLAIM_CHUNK); |
1246 | 1245 | ||
1247 | credits = q->size - q->in_use; | 1246 | credits = q->size - q->in_use; |
@@ -1252,7 +1251,6 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1252 | dev_err(&adap->pdev->dev, | 1251 | dev_err(&adap->pdev->dev, |
1253 | "%s: Tx ring %u full while queue awake!\n", | 1252 | "%s: Tx ring %u full while queue awake!\n", |
1254 | dev->name, q->cntxt_id & 7); | 1253 | dev->name, q->cntxt_id & 7); |
1255 | spin_unlock(&q->lock); | ||
1256 | return NETDEV_TX_BUSY; | 1254 | return NETDEV_TX_BUSY; |
1257 | } | 1255 | } |
1258 | 1256 | ||
@@ -1286,8 +1284,6 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1286 | if (vlan_tx_tag_present(skb) && pi->vlan_grp) | 1284 | if (vlan_tx_tag_present(skb) && pi->vlan_grp) |
1287 | qs->port_stats[SGE_PSTAT_VLANINS]++; | 1285 | qs->port_stats[SGE_PSTAT_VLANINS]++; |
1288 | 1286 | ||
1289 | spin_unlock(&q->lock); | ||
1290 | |||
1291 | /* | 1287 | /* |
1292 | * We do not use Tx completion interrupts to free DMAd Tx packets. | 1288 | * We do not use Tx completion interrupts to free DMAd Tx packets. |
1293 | * This is good for performamce but means that we rely on new Tx | 1289 | * This is good for performamce but means that we rely on new Tx |
@@ -2857,11 +2853,12 @@ static void sge_timer_tx(unsigned long data) | |||
2857 | unsigned int tbd[SGE_TXQ_PER_SET] = {0, 0}; | 2853 | unsigned int tbd[SGE_TXQ_PER_SET] = {0, 0}; |
2858 | unsigned long next_period; | 2854 | unsigned long next_period; |
2859 | 2855 | ||
2860 | if (spin_trylock(&qs->txq[TXQ_ETH].lock)) { | 2856 | if (__netif_tx_trylock(qs->tx_q)) { |
2861 | tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH], | 2857 | tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH], |
2862 | TX_RECLAIM_TIMER_CHUNK); | 2858 | TX_RECLAIM_TIMER_CHUNK); |
2863 | spin_unlock(&qs->txq[TXQ_ETH].lock); | 2859 | __netif_tx_unlock(qs->tx_q); |
2864 | } | 2860 | } |
2861 | |||
2865 | if (spin_trylock(&qs->txq[TXQ_OFLD].lock)) { | 2862 | if (spin_trylock(&qs->txq[TXQ_OFLD].lock)) { |
2866 | tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD], | 2863 | tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD], |
2867 | TX_RECLAIM_TIMER_CHUNK); | 2864 | TX_RECLAIM_TIMER_CHUNK); |
@@ -2869,8 +2866,8 @@ static void sge_timer_tx(unsigned long data) | |||
2869 | } | 2866 | } |
2870 | 2867 | ||
2871 | next_period = TX_RECLAIM_PERIOD >> | 2868 | next_period = TX_RECLAIM_PERIOD >> |
2872 | (max(tbd[TXQ_ETH], tbd[TXQ_OFLD]) / | 2869 | (max(tbd[TXQ_ETH], tbd[TXQ_OFLD]) / |
2873 | TX_RECLAIM_TIMER_CHUNK); | 2870 | TX_RECLAIM_TIMER_CHUNK); |
2874 | mod_timer(&qs->tx_reclaim_timer, jiffies + next_period); | 2871 | mod_timer(&qs->tx_reclaim_timer, jiffies + next_period); |
2875 | } | 2872 | } |
2876 | 2873 | ||