cxgb3 - Update internal memory management
authorDivy Le Ray <divy@chelsio.com>
Wed, 22 Aug 2007 03:49:41 +0000 (20:49 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:50:51 +0000 (16:50 -0700)
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>
drivers/net/cxgb3/regs.h
drivers/net/cxgb3/t3_hw.c

index 2824278..5e1bc0d 100644 (file)
 #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
 
 #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
 
index 3f7f06b..e958bbe 100644 (file)
@@ -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);