diff options
author | Mintz Yuval <yuvalmin@broadcom.com> | 2012-02-14 21:10:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-02-15 15:30:48 -0500 |
commit | e18c56b2e94080982d4542987a6fcf80b12d9414 (patch) | |
tree | 236a3750b78107a4eb587f2d58f609b362bcbf38 /drivers/net/ethernet | |
parent | 1355b704b9ba44182a97c90b4480d79f0de8f040 (diff) |
bnx2x: half duplex support added for several boards
From: Yaniv Rosner <yaniv.rosner@broadcom.com>
Several boards require an additional HW bit written in-order to enable
half duplex.
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>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c index 2102ad593c14..e7b0baf873b6 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | |||
@@ -1612,6 +1612,9 @@ static void bnx2x_umac_enable(struct link_params *params, | |||
1612 | if (!(vars->flow_ctrl & BNX2X_FLOW_CTRL_RX)) | 1612 | if (!(vars->flow_ctrl & BNX2X_FLOW_CTRL_RX)) |
1613 | val |= UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE; | 1613 | val |= UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE; |
1614 | 1614 | ||
1615 | if (vars->duplex == DUPLEX_HALF) | ||
1616 | val |= UMAC_COMMAND_CONFIG_REG_HD_ENA; | ||
1617 | |||
1615 | REG_WR(bp, umac_base + UMAC_REG_COMMAND_CONFIG, val); | 1618 | REG_WR(bp, umac_base + UMAC_REG_COMMAND_CONFIG, val); |
1616 | udelay(50); | 1619 | udelay(50); |
1617 | 1620 | ||
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h index c95d9dcac6df..2feaca52d70c 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h | |||
@@ -4812,6 +4812,7 @@ | |||
4812 | The fields are: [4:0] - tail pointer; 10:5] - Link List size; 15:11] - | 4812 | The fields are: [4:0] - tail pointer; 10:5] - Link List size; 15:11] - |
4813 | header pointer. */ | 4813 | header pointer. */ |
4814 | #define UCM_REG_XX_TABLE 0xe0300 | 4814 | #define UCM_REG_XX_TABLE 0xe0300 |
4815 | #define UMAC_COMMAND_CONFIG_REG_HD_ENA (0x1<<10) | ||
4815 | #define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE (0x1<<28) | 4816 | #define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE (0x1<<28) |
4816 | #define UMAC_COMMAND_CONFIG_REG_LOOP_ENA (0x1<<15) | 4817 | #define UMAC_COMMAND_CONFIG_REG_LOOP_ENA (0x1<<15) |
4817 | #define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK (0x1<<24) | 4818 | #define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK (0x1<<24) |