Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e5c9c53 authored by Don Skidmore's avatar Don Skidmore Committed by Jeff Kirsher
Browse files

ixgbe: list X553 backplane speeds correctly



We forgot to indicate some of the supported speed on the X553
backplane.  This patch attempts to correct for that.

Signed-off-by: default avatarDon Skidmore <donald.c.skidmore@intel.com>
Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 18e01ee7
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3775,6 +3775,11 @@ struct ixgbe_info {

#define IXGBE_NW_MNG_IF_SEL		0x00011178
#define IXGBE_NW_MNG_IF_SEL_MDIO_ACT		BIT(1)
#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_10M	BIT(17)
#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_100M	BIT(18)
#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_1G	BIT(19)
#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_2_5G	BIT(20)
#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_10G	BIT(21)
#define IXGBE_NW_MNG_IF_SEL_ENABLE_10_100M	BIT(23)
#define IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE	BIT(24)
#define IXGBE_NW_MNG_IF_SEL_MDIO_PHY_ADD_SHIFT	3
+14 −0
Original line number Diff line number Diff line
@@ -2241,6 +2241,20 @@ static s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw,
		case ixgbe_phy_sgmii:
			*speed = IXGBE_LINK_SPEED_1GB_FULL;
			break;
		case ixgbe_phy_x550em_kr:
			if (hw->mac.type == ixgbe_mac_x550em_a) {
				/* check different backplane modes */
				if (hw->phy.nw_mng_if_sel &
				    IXGBE_NW_MNG_IF_SEL_PHY_SPEED_2_5G) {
					*speed = IXGBE_LINK_SPEED_2_5GB_FULL;
					break;
				} else if (hw->device_id ==
					   IXGBE_DEV_ID_X550EM_A_KR_L) {
					*speed = IXGBE_LINK_SPEED_1GB_FULL;
					break;
				}
			}
			/* fall through */
		default:
			*speed = IXGBE_LINK_SPEED_10GB_FULL |
				 IXGBE_LINK_SPEED_1GB_FULL;