]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bnx2x: half duplex support added for several boards
authorYaniv Rosner <yaniv.rosner@broadcom.com>
Wed, 15 Feb 2012 02:10:23 +0000 (02:10 +0000)
committerJoe Jin <joe.jin@oracle.com>
Wed, 16 May 2012 14:46:32 +0000 (22:46 +0800)
Several boards require an additional HW bit written in-order to enable
half duplex.

(cherry picked from commit e18c56b2e94080982d4542987a6fcf80b12d9414)
Signed-off-by: Yaniv Rosner <yaniv.rosner@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/bnx2x/bnx2x_link.c
drivers/net/bnx2x/bnx2x_reg.h

index 0caef19678d1efab643b5b0890a2c722ec4bd122..d0ea734b4292dd08b0d6a2778229c8117b9de2f1 100644 (file)
@@ -1612,6 +1612,9 @@ static void bnx2x_umac_enable(struct link_params *params,
        if (!(vars->flow_ctrl & BNX2X_FLOW_CTRL_RX))
                val |= UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE;
 
+       if (vars->duplex == DUPLEX_HALF)
+               val |= UMAC_COMMAND_CONFIG_REG_HD_ENA;
+
        REG_WR(bp, umac_base + UMAC_REG_COMMAND_CONFIG, val);
        udelay(50);
 
index 540e07845b3d186378e65b69386746efa3b81e44..149664fa5965e4880efdac072a62224628822850 100644 (file)
    The fields are: [4:0] - tail pointer; 10:5] - Link List size; 15:11] -
    header pointer. */
 #define UCM_REG_XX_TABLE                                        0xe0300
+#define UMAC_COMMAND_CONFIG_REG_HD_ENA                          (0x1<<10)
 #define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE                         (0x1<<28)
 #define UMAC_COMMAND_CONFIG_REG_LOOP_ENA                        (0x1<<15)
 #define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK                   (0x1<<24)