aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/chelsio/sge.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/chelsio/sge.c')
-rw-r--r--drivers/net/chelsio/sge.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index 8c658cf6f62f..71384114a4ed 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -267,7 +267,7 @@ struct sge {
267 struct sk_buff *espibug_skb[MAX_NPORTS]; 267 struct sk_buff *espibug_skb[MAX_NPORTS];
268 u32 sge_control; /* shadow value of sge control reg */ 268 u32 sge_control; /* shadow value of sge control reg */
269 struct sge_intr_counts stats; 269 struct sge_intr_counts stats;
270 struct sge_port_stats *port_stats[MAX_NPORTS]; 270 struct sge_port_stats __percpu *port_stats[MAX_NPORTS];
271 struct sched *tx_sched; 271 struct sched *tx_sched;
272 struct cmdQ cmdQ[SGE_CMDQ_N] ____cacheline_aligned_in_smp; 272 struct cmdQ cmdQ[SGE_CMDQ_N] ____cacheline_aligned_in_smp;
273}; 273};
@@ -953,7 +953,7 @@ int t1_sge_intr_error_handler(struct sge *sge)
953 sge->stats.respQ_empty++; 953 sge->stats.respQ_empty++;
954 if (cause & F_RESPQ_OVERFLOW) { 954 if (cause & F_RESPQ_OVERFLOW) {
955 sge->stats.respQ_overflow++; 955 sge->stats.respQ_overflow++;
956 CH_ALERT("%s: SGE response queue overflow\n", 956 pr_alert("%s: SGE response queue overflow\n",
957 adapter->name); 957 adapter->name);
958 } 958 }
959 if (cause & F_FL_EXHAUSTED) { 959 if (cause & F_FL_EXHAUSTED) {
@@ -962,12 +962,12 @@ int t1_sge_intr_error_handler(struct sge *sge)
962 } 962 }
963 if (cause & F_PACKET_TOO_BIG) { 963 if (cause & F_PACKET_TOO_BIG) {
964 sge->stats.pkt_too_big++; 964 sge->stats.pkt_too_big++;
965 CH_ALERT("%s: SGE max packet size exceeded\n", 965 pr_alert("%s: SGE max packet size exceeded\n",
966 adapter->name); 966 adapter->name);
967 } 967 }
968 if (cause & F_PACKET_MISMATCH) { 968 if (cause & F_PACKET_MISMATCH) {
969 sge->stats.pkt_mismatch++; 969 sge->stats.pkt_mismatch++;
970 CH_ALERT("%s: SGE packet mismatch\n", adapter->name); 970 pr_alert("%s: SGE packet mismatch\n", adapter->name);
971 } 971 }
972 if (cause & SGE_INT_FATAL) 972 if (cause & SGE_INT_FATAL)
973 t1_fatal_err(adapter); 973 t1_fatal_err(adapter);
@@ -1101,7 +1101,7 @@ static void unexpected_offload(struct adapter *adapter, struct freelQ *fl)
1101 1101
1102 pci_dma_sync_single_for_cpu(adapter->pdev, pci_unmap_addr(ce, dma_addr), 1102 pci_dma_sync_single_for_cpu(adapter->pdev, pci_unmap_addr(ce, dma_addr),
1103 pci_unmap_len(ce, dma_len), PCI_DMA_FROMDEVICE); 1103 pci_unmap_len(ce, dma_len), PCI_DMA_FROMDEVICE);
1104 CH_ERR("%s: unexpected offload packet, cmd %u\n", 1104 pr_err("%s: unexpected offload packet, cmd %u\n",
1105 adapter->name, *skb->data); 1105 adapter->name, *skb->data);
1106 recycle_fl_buf(fl, fl->cidx); 1106 recycle_fl_buf(fl, fl->cidx);
1107} 1107}
@@ -1378,7 +1378,7 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
1378 } 1378 }
1379 __skb_pull(skb, sizeof(*p)); 1379 __skb_pull(skb, sizeof(*p));
1380 1380
1381 st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id()); 1381 st = this_cpu_ptr(sge->port_stats[p->iff]);
1382 1382
1383 skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev); 1383 skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev);
1384 if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff && 1384 if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff &&
@@ -1687,7 +1687,7 @@ static int t1_sge_tx(struct sk_buff *skb, struct adapter *adapter,
1687 netif_stop_queue(dev); 1687 netif_stop_queue(dev);
1688 set_bit(dev->if_port, &sge->stopped_tx_queues); 1688 set_bit(dev->if_port, &sge->stopped_tx_queues);
1689 sge->stats.cmdQ_full[2]++; 1689 sge->stats.cmdQ_full[2]++;
1690 CH_ERR("%s: Tx ring full while queue awake!\n", 1690 pr_err("%s: Tx ring full while queue awake!\n",
1691 adapter->name); 1691 adapter->name);
1692 } 1692 }
1693 spin_unlock(&q->lock); 1693 spin_unlock(&q->lock);
@@ -1780,8 +1780,7 @@ netdev_tx_t t1_start_xmit(struct sk_buff *skb, struct net_device *dev)
1780{ 1780{
1781 struct adapter *adapter = dev->ml_priv; 1781 struct adapter *adapter = dev->ml_priv;
1782 struct sge *sge = adapter->sge; 1782 struct sge *sge = adapter->sge;
1783 struct sge_port_stats *st = per_cpu_ptr(sge->port_stats[dev->if_port], 1783 struct sge_port_stats *st = this_cpu_ptr(sge->port_stats[dev->if_port]);
1784 smp_processor_id());
1785 struct cpl_tx_pkt *cpl; 1784 struct cpl_tx_pkt *cpl;
1786 struct sk_buff *orig_skb = skb; 1785 struct sk_buff *orig_skb = skb;
1787 int ret; 1786 int ret;