ixgbe/base: move X550 MDIO clock speed init
The x550 MDIO clock speed must be configured prior to first MDIO read or write. The default MDIO clock speed is not valid, therefore the driver is configuring a valid speed prior to reading the copper PHY device id. Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This commit is contained in:
parent
bd33a76533
commit
28ee76db18
@ -1532,9 +1532,14 @@ s32 ixgbe_reset_hw_X550em(struct ixgbe_hw *hw)
|
||||
/* flush pending Tx transactions */
|
||||
ixgbe_clear_tx_pending(hw);
|
||||
|
||||
/* PHY ops must be identified and initialized prior to reset */
|
||||
if (hw->device_id == IXGBE_DEV_ID_X550EM_X_10G_T) {
|
||||
/* Config MDIO clock speed before the first MDIO PHY access */
|
||||
hlreg0 = IXGBE_READ_REG(hw, IXGBE_HLREG0);
|
||||
hlreg0 &= ~IXGBE_HLREG0_MDCSPD;
|
||||
IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg0);
|
||||
}
|
||||
|
||||
/* Identify PHY and related function pointers */
|
||||
/* PHY ops must be identified and initialized prior to reset */
|
||||
status = hw->phy.ops.init(hw);
|
||||
|
||||
if (status == IXGBE_ERR_SFP_NOT_SUPPORTED)
|
||||
@ -1611,13 +1616,6 @@ mac_reset_top:
|
||||
hw->mac.num_rar_entries = 128;
|
||||
hw->mac.ops.init_rx_addrs(hw);
|
||||
|
||||
if (hw->device_id == IXGBE_DEV_ID_X550EM_X_10G_T) {
|
||||
/* Config MDIO clock speed. */
|
||||
hlreg0 = IXGBE_READ_REG(hw, IXGBE_HLREG0);
|
||||
hlreg0 &= ~IXGBE_HLREG0_MDCSPD;
|
||||
IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg0);
|
||||
}
|
||||
|
||||
if (hw->device_id == IXGBE_DEV_ID_X550EM_X_SFP)
|
||||
ixgbe_setup_mux_ctl(hw);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user