From: Wenzhuo Lu Date: Wed, 24 Jun 2015 03:25:51 +0000 (+0800) Subject: ixgbe/base: update X550em LPLU X-Git-Tag: spdx-start~8960 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=bc07947332f064de1b8a2e383a8dc31cc4d8487c;p=dpdk.git ixgbe/base: update X550em LPLU This patch updates x550em LPLU (Low Power Link Up) to use the MAC ops setup_link function pointer. This removes redundant code and provides iXFI and KR support between internal and external PHY. Signed-off-by: Wenzhuo Lu Acked-by: Helin Zhang --- diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c index da312ba0ed..fd46699273 100644 --- a/drivers/net/ixgbe/base/ixgbe_x550.c +++ b/drivers/net/ixgbe/base/ixgbe_x550.c @@ -2556,48 +2556,8 @@ s32 ixgbe_enter_lplu_t_x550em(struct ixgbe_hw *hw) if (status != IXGBE_SUCCESS) return status; - /* Set AN advertizement to only include LCD */ - if (lcd_speed == IXGBE_LINK_SPEED_1GB_FULL) { - an_10g_cntl_reg &= ~IXGBE_MII_10GBASE_T_ADVERTISE; - autoneg_reg |= IXGBE_MII_1GBASE_T_ADVERTISE; - } - - if (lcd_speed == IXGBE_LINK_SPEED_10GB_FULL) { - an_10g_cntl_reg |= IXGBE_MII_10GBASE_T_ADVERTISE; - autoneg_reg &= ~IXGBE_MII_1GBASE_T_ADVERTISE; - } - - status = hw->phy.ops.write_reg(hw, IXGBE_MII_10GBASE_T_AUTONEG_CTRL_REG, - IXGBE_MDIO_AUTO_NEG_DEV_TYPE, - an_10g_cntl_reg); - - if (status != IXGBE_SUCCESS) - return status; - - status = hw->phy.ops.write_reg(hw, - IXGBE_MII_AUTONEG_VENDOR_PROVISION_1_REG, - IXGBE_MDIO_AUTO_NEG_DEV_TYPE, - autoneg_reg); - - if (status != IXGBE_SUCCESS) - return status; - - /* Restart PHY auto-negotiation. */ - status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_AUTO_NEG_CONTROL, - IXGBE_MDIO_AUTO_NEG_DEV_TYPE, &autoneg_reg); - - if (status != IXGBE_SUCCESS) - return status; - - autoneg_reg |= IXGBE_MII_RESTART; - - status = hw->phy.ops.write_reg(hw, IXGBE_MDIO_AUTO_NEG_CONTROL, - IXGBE_MDIO_AUTO_NEG_DEV_TYPE, autoneg_reg); - - if (status != IXGBE_SUCCESS) - return status; - - status = ixgbe_setup_ixfi_x550em(hw, &lcd_speed); + /* Setup link at least common link speed */ + status = hw->mac.ops.setup_link(hw, lcd_speed, false); return status; }