aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2009-05-29 08:52:38 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-29 18:55:03 -0400
commitc3a8c5b644118b5e2cfd0690b1dcea904a792c52 (patch)
tree40ca876db94376d3f30fdf80e2b6001e84cbc13f /drivers/net/cxgb3
parent080c82550dc1dc3c0d4207ce32d7a8d0ae96fba5 (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.c1
-rw-r--r--drivers/net/cxgb3/sge.c17
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