aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2007-08-21 20:49:41 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:50:51 -0700
commit3f61e4278c8489c1d026a45b0903cd4230d1ec07 (patch)
tree2f6e45740ebe555d2bf97610690ad0506d375863
parent167cdf5fbc64ab8f4eae2cd6d9d0892478d569d7 (diff)
downloadkernel_goldelico_gta04-3f61e4278c8489c1d026a45b0903cd4230d1ec07.zip
kernel_goldelico_gta04-3f61e4278c8489c1d026a45b0903cd4230d1ec07.tar.gz
kernel_goldelico_gta04-3f61e4278c8489c1d026a45b0903cd4230d1ec07.tar.bz2
cxgb3 - Update internal memory management
Set PM1 internal memory to round robin mode It balances access to this internal memory for multiport adapters. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/cxgb3/regs.h2
-rw-r--r--drivers/net/cxgb3/t3_hw.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/cxgb3/regs.h b/drivers/net/cxgb3/regs.h
index 2824278..5e1bc0d 100644
--- a/drivers/net/cxgb3/regs.h
+++ b/drivers/net/cxgb3/regs.h
@@ -1326,6 +1326,7 @@
#define V_D0_WEIGHT(x) ((x) << S_D0_WEIGHT)
#define A_PM1_RX_CFG 0x5c0
+#define A_PM1_RX_MODE 0x5c4
#define A_PM1_RX_INT_ENABLE 0x5d8
@@ -1394,6 +1395,7 @@
#define A_PM1_RX_INT_CAUSE 0x5dc
#define A_PM1_TX_CFG 0x5e0
+#define A_PM1_TX_MODE 0x5e4
#define A_PM1_TX_INT_ENABLE 0x5f8
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c
index 3f7f06b..e958bbe 100644
--- a/drivers/net/cxgb3/t3_hw.c
+++ b/drivers/net/cxgb3/t3_hw.c
@@ -3223,6 +3223,8 @@ int t3_init_hw(struct adapter *adapter, u32 fw_params)
t3_set_reg_field(adapter, A_PCIX_CFG, 0, F_CLIDECEN);
t3_write_reg(adapter, A_PM1_RX_CFG, 0xffffffff);
+ t3_write_reg(adapter, A_PM1_RX_MODE, 0);
+ t3_write_reg(adapter, A_PM1_TX_MODE, 0);
init_hw_for_avail_ports(adapter, adapter->params.nports);
t3_sge_init(adapter, &adapter->params.sge);