From: Wenzhuo Lu Date: Wed, 24 Jun 2015 03:25:58 +0000 (+0800) Subject: ixgbe/base: power down the X550em PHY on overtemp event X-Git-Tag: spdx-start~8954 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=caab86b89755e40b3423e71b69d9ca089cf1fb9b;p=dpdk.git ixgbe/base: power down the X550em PHY on overtemp event This patch powers down the x550em PHY on over-temp events. The PHY firmware is supposed to do this autonomously but that isn't implemented. The short-term stop-gap solution is for SW to power down the PHY when it reports an overtemp event. 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 2b60d45e4f..3a4d7251bc 100644 --- a/drivers/net/ixgbe/base/ixgbe_x550.c +++ b/drivers/net/ixgbe/base/ixgbe_x550.c @@ -1193,8 +1193,11 @@ STATIC s32 ixgbe_get_lasi_ext_t_x550em(struct ixgbe_hw *hw, bool *lsc) return status; /* If high temperature failure, then return over temp error and exit */ - if (reg & IXGBE_MDIO_GLOBAL_ALM_1_HI_TMP_FAIL) + if (reg & IXGBE_MDIO_GLOBAL_ALM_1_HI_TMP_FAIL) { + /* power down the PHY in case the PHY FW didn't already */ + ixgbe_set_copper_phy_power(hw, false); return IXGBE_ERR_OVERTEMP; + } /* Vendor alarm 2 triggered */ status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_CHIP_STD_INT_FLAG,