aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
diff options
context:
space:
mode:
authorHariprasad Shenai <hariprasad@chelsio.com>2015-09-08 06:55:40 -0400
committerDavid S. Miller <davem@davemloft.net>2015-09-09 15:29:26 -0400
commit2a485cf7db2815ca0d1510143d9126c4475aab39 (patch)
treed846ee038c77bf2f8cc365a69755af182f56d68a /drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
parentfd1754fb8afbd9cf4ea279d533414aa6577b7e60 (diff)
cxgb4: Fix for write-combining stats configuration
The write-combining configuration register SGE_STAT_CFG_A needs to be configured after FW initializes the adapter, else FW will reset the configuration Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 592a4d66169c..f5dcde27e402 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -4719,8 +4719,6 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
4719 err = -ENOMEM; 4719 err = -ENOMEM;
4720 goto out_free_adapter; 4720 goto out_free_adapter;
4721 } 4721 }
4722 t4_write_reg(adapter, SGE_STAT_CFG_A,
4723 STATSOURCE_T5_V(7) | STATMODE_V(0));
4724 } 4722 }
4725 4723
4726 setup_memwin(adapter); 4724 setup_memwin(adapter);
@@ -4732,6 +4730,11 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
4732 if (err) 4730 if (err)
4733 goto out_unmap_bar; 4731 goto out_unmap_bar;
4734 4732
4733 /* configure SGE_STAT_CFG_A to read WC stats */
4734 if (!is_t4(adapter->params.chip))
4735 t4_write_reg(adapter, SGE_STAT_CFG_A,
4736 STATSOURCE_T5_V(7) | STATMODE_V(0));
4737
4735 for_each_port(adapter, i) { 4738 for_each_port(adapter, i) {
4736 struct net_device *netdev; 4739 struct net_device *netdev;
4737 4740