提交 ae84dbf7 编写于 作者: T Tony Nguyen 提交者: Jeff Kirsher

ixgbe: Do not support flow control autonegotiation for X553

Flow control autonegotiation is not supported for fiber on X553.  Add
device ID checks in ixgbe_device_supports_autoneg_fc() to return the
appropriate value.
Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: NEmil Tantilov <emil.s.tantilov@intel.com>
Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
上级 48301cf2
...@@ -79,13 +79,22 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw) ...@@ -79,13 +79,22 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw)
switch (hw->phy.media_type) { switch (hw->phy.media_type) {
case ixgbe_media_type_fiber: case ixgbe_media_type_fiber:
hw->mac.ops.check_link(hw, &speed, &link_up, false); /* flow control autoneg black list */
/* if link is down, assume supported */ switch (hw->device_id) {
if (link_up) case IXGBE_DEV_ID_X550EM_A_SFP:
supported = speed == IXGBE_LINK_SPEED_1GB_FULL ? case IXGBE_DEV_ID_X550EM_A_SFP_N:
supported = false;
break;
default:
hw->mac.ops.check_link(hw, &speed, &link_up, false);
/* if link is down, assume supported */
if (link_up)
supported = speed == IXGBE_LINK_SPEED_1GB_FULL ?
true : false; true : false;
else else
supported = true; supported = true;
}
break; break;
case ixgbe_media_type_backplane: case ixgbe_media_type_backplane:
supported = true; supported = true;
...@@ -111,6 +120,10 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw) ...@@ -111,6 +120,10 @@ bool ixgbe_device_supports_autoneg_fc(struct ixgbe_hw *hw)
break; break;
} }
if (!supported)
hw_dbg(hw, "Device %x does not support flow control autoneg\n",
hw->device_id);
return supported; return supported;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册