|
@@ -1595,6 +1595,13 @@ static int ixgbe_setup_loopback_test(struct ixgbe_adapter *adapter)
|
|
|
struct ixgbe_hw *hw = &adapter->hw;
|
|
|
u32 reg_data;
|
|
|
|
|
|
+ /* X540 needs to set the MACC.FLU bit to force link up */
|
|
|
+ if (adapter->hw.mac.type == ixgbe_mac_X540) {
|
|
|
+ reg_data = IXGBE_READ_REG(&adapter->hw, IXGBE_MACC);
|
|
|
+ reg_data |= IXGBE_MACC_FLU;
|
|
|
+ IXGBE_WRITE_REG(&adapter->hw, IXGBE_MACC, reg_data);
|
|
|
+ }
|
|
|
+
|
|
|
/* right now we only support MAC loopback in the driver */
|
|
|
reg_data = IXGBE_READ_REG(&adapter->hw, IXGBE_HLREG0);
|
|
|
/* Setup MAC loopback */
|