cxgb3 - Clean up HW init routine
authorDivy Le Ray <divy@chelsio.com>
Wed, 31 Jan 2007 03:44:07 +0000 (19:44 -0800)
committerJeff Garzik <jeff@garzik.org>
Mon, 5 Feb 2007 21:58:50 +0000 (16:58 -0500)
Clean up the tp_config() routine.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/cxgb3/t3_hw.c

index 2215400..7112bac 100644 (file)
@@ -2328,8 +2328,6 @@ static inline void tp_wr_indirect(struct adapter *adap, unsigned int addr,
 
 static void tp_config(struct adapter *adap, const struct tp_params *p)
 {
-       unsigned int v;
-
        t3_write_reg(adap, A_TP_GLOBAL_CONFIG, F_TXPACINGENABLE | F_PATHMTU |
                     F_IPCHECKSUMOFFLOAD | F_UDPCHECKSUMOFFLOAD |
                     F_TCPCHECKSUMOFFLOAD | V_IPTTL(64));
@@ -2348,15 +2346,11 @@ static void tp_config(struct adapter *adap, const struct tp_params *p)
                         adap->params.rev > 0 ? F_ENABLEESND : F_T3A_ENABLEESND,
                         0);
 
-       v = t3_read_reg(adap, A_TP_PC_CONFIG);
-       v &= ~(F_ENABLEEPCMDAFULL | F_ENABLEOCSPIFULL);
-       t3_write_reg(adap, A_TP_PC_CONFIG, v | F_TXDEFERENABLE |
-                    F_MODULATEUNIONMODE | F_HEARBEATDACK |
-                    F_TXCONGESTIONMODE | F_RXCONGESTIONMODE);
-
-       v = t3_read_reg(adap, A_TP_PC_CONFIG2);
-       v &= ~F_CHDRAFULL;
-       t3_write_reg(adap, A_TP_PC_CONFIG2, v);
+       t3_set_reg_field(adap, A_TP_PC_CONFIG,
+                        F_ENABLEEPCMDAFULL | F_ENABLEOCSPIFULL,
+                        F_TXDEFERENABLE | F_HEARBEATDACK | F_TXCONGESTIONMODE |
+                        F_RXCONGESTIONMODE);
+       t3_set_reg_field(adap, A_TP_PC_CONFIG2, F_CHDRAFULL, 0);
 
        if (adap->params.rev > 0) {
                tp_wr_indirect(adap, A_TP_EGRESS_CONFIG, F_REWRITEFORCETOSIZE);