mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
0afbd74a16
commit
869952e350
|
@ -175,6 +175,7 @@ typedef int (*read_sfp_module_eeprom_func_p)(struct bnx2x_phy *phy,
|
|||
#define EDC_MODE_LINEAR 0x0022
|
||||
#define EDC_MODE_LIMITING 0x0044
|
||||
#define EDC_MODE_PASSIVE_DAC 0x0055
|
||||
#define EDC_MODE_ACTIVE_DAC 0x0066
|
||||
|
||||
/* ETS defines*/
|
||||
#define DCBX_INVALID_COS (0xFF)
|
||||
|
@ -8110,7 +8111,10 @@ static int bnx2x_get_edc_mode(struct bnx2x_phy *phy,
|
|||
if (copper_module_type &
|
||||
SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_ACTIVE) {
|
||||
DP(NETIF_MSG_LINK, "Active Copper cable detected\n");
|
||||
check_limiting_mode = 1;
|
||||
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT)
|
||||
*edc_mode = EDC_MODE_ACTIVE_DAC;
|
||||
else
|
||||
check_limiting_mode = 1;
|
||||
} else if (copper_module_type &
|
||||
SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE) {
|
||||
DP(NETIF_MSG_LINK,
|
||||
|
@ -8585,6 +8589,7 @@ static void bnx2x_warpcore_set_limiting_mode(struct link_params *params,
|
|||
mode = MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT;
|
||||
break;
|
||||
case EDC_MODE_PASSIVE_DAC:
|
||||
case EDC_MODE_ACTIVE_DAC:
|
||||
mode = MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC;
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue