aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2x
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h1
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c20
2 files changed, 18 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h
index 32767f6aa33f..cf1df8b62e2c 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_hsi.h
@@ -172,6 +172,7 @@ struct shared_hw_cfg { /* NVRAM Offset */
172 #define SHARED_HW_CFG_LED_MAC4 0x000c0000 172 #define SHARED_HW_CFG_LED_MAC4 0x000c0000
173 #define SHARED_HW_CFG_LED_PHY8 0x000d0000 173 #define SHARED_HW_CFG_LED_PHY8 0x000d0000
174 #define SHARED_HW_CFG_LED_EXTPHY1 0x000e0000 174 #define SHARED_HW_CFG_LED_EXTPHY1 0x000e0000
175 #define SHARED_HW_CFG_LED_EXTPHY2 0x000f0000
175 176
176 177
177 #define SHARED_HW_CFG_AN_ENABLE_MASK 0x3f000000 178 #define SHARED_HW_CFG_AN_ENABLE_MASK 0x3f000000
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index 92112e242f7f..c60cf43eea08 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -6344,9 +6344,15 @@ int bnx2x_set_led(struct link_params *params,
6344 * intended override. 6344 * intended override.
6345 */ 6345 */
6346 break; 6346 break;
6347 } else 6347 } else {
6348 u32 nig_led_mode = ((params->hw_led_mode <<
6349 SHARED_HW_CFG_LED_MODE_SHIFT) ==
6350 SHARED_HW_CFG_LED_EXTPHY2) ?
6351 (SHARED_HW_CFG_LED_PHY1 >>
6352 SHARED_HW_CFG_LED_MODE_SHIFT) : hw_led_mode;
6348 REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4, 6353 REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4,
6349 hw_led_mode); 6354 nig_led_mode);
6355 }
6350 6356
6351 REG_WR(bp, NIG_REG_LED_CONTROL_OVERRIDE_TRAFFIC_P0 + port*4, 0); 6357 REG_WR(bp, NIG_REG_LED_CONTROL_OVERRIDE_TRAFFIC_P0 + port*4, 0);
6352 /* Set blinking rate to ~15.9Hz */ 6358 /* Set blinking rate to ~15.9Hz */
@@ -10608,10 +10614,18 @@ static void bnx2x_848xx_set_link_led(struct bnx2x_phy *phy,
10608 0x40); 10614 0x40);
10609 10615
10610 } else { 10616 } else {
10617 /* EXTPHY2 LED mode indicate that the 100M/1G/10G LED
10618 * sources are all wired through LED1, rather than only
10619 * 10G in other modes.
10620 */
10621 val = ((params->hw_led_mode <<
10622 SHARED_HW_CFG_LED_MODE_SHIFT) ==
10623 SHARED_HW_CFG_LED_EXTPHY2) ? 0x98 : 0x80;
10624
10611 bnx2x_cl45_write(bp, phy, 10625 bnx2x_cl45_write(bp, phy,
10612 MDIO_PMA_DEVAD, 10626 MDIO_PMA_DEVAD,
10613 MDIO_PMA_REG_8481_LED1_MASK, 10627 MDIO_PMA_REG_8481_LED1_MASK,
10614 0x80); 10628 val);
10615 10629
10616 /* Tell LED3 to blink on source */ 10630 /* Tell LED3 to blink on source */
10617 bnx2x_cl45_read(bp, phy, 10631 bnx2x_cl45_read(bp, phy,