Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bnx2x: Specific Active-DAC is not detected on 57810

Fix Warpcore mode setting when active DAC (Direct Attached Cable) is detected.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Yaniv Rosner and committed by
David S. Miller
869952e3 0afbd74a

+6 -1
+6 -1
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
··· 175 175 #define EDC_MODE_LINEAR 0x0022 176 176 #define EDC_MODE_LIMITING 0x0044 177 177 #define EDC_MODE_PASSIVE_DAC 0x0055 178 + #define EDC_MODE_ACTIVE_DAC 0x0066 178 179 179 180 /* ETS defines*/ 180 181 #define DCBX_INVALID_COS (0xFF) ··· 8111 8110 if (copper_module_type & 8112 8111 SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_ACTIVE) { 8113 8112 DP(NETIF_MSG_LINK, "Active Copper cable detected\n"); 8114 - check_limiting_mode = 1; 8113 + if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT) 8114 + *edc_mode = EDC_MODE_ACTIVE_DAC; 8115 + else 8116 + check_limiting_mode = 1; 8115 8117 } else if (copper_module_type & 8116 8118 SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) { 8117 8119 DP(NETIF_MSG_LINK, ··· 8589 8585 mode = MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT; 8590 8586 break; 8591 8587 case EDC_MODE_PASSIVE_DAC: 8588 + case EDC_MODE_ACTIVE_DAC: 8592 8589 mode = MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC; 8593 8590 break; 8594 8591 default: