From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Dai Subject: [PATCH v2 23/30] net/ixgbe/base: update FW PHY flow control Date: Wed, 21 Dec 2016 17:48:07 +0800 Message-ID: <1482313694-31602-24-git-send-email-wei.dai@intel.com> References: <1482313694-31602-1-git-send-email-wei.dai@intel.com> Cc: helin.zhang@intel.com, konstantin.ananyev@intel.com, Wei Dai To: dev@dpdk.org Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 3433410C19 for ; Wed, 21 Dec 2016 10:52:21 +0100 (CET) In-Reply-To: <1482313694-31602-1-git-send-email-wei.dai@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch removes the flow control conversion from Rx and Tx to pause and asymmetric pause, as that is handled by the ixgbe_negotiate_fc(). Performing the conversion prior to ixgbe_negotiate_fc() results in an incorrect fc mode if Rx only pause is selected when the link partner is advertising Tx. Signed-off-by: Wei Dai --- drivers/net/ixgbe/base/ixgbe_x550.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c index f1f1fbe..49b59e7 100644 --- a/drivers/net/ixgbe/base/ixgbe_x550.c +++ b/drivers/net/ixgbe/base/ixgbe_x550.c @@ -4199,7 +4199,6 @@ void ixgbe_fc_autoneg_sgmii_x550em_a(struct ixgbe_hw *hw) u32 info[FW_PHY_ACT_DATA_COUNT] = { 0 }; ixgbe_link_speed speed; bool link_up; - u32 fc; /* AN should have completed when the cable was plugged in. * Look for reasons to bail out. Bail out if: @@ -4227,21 +4226,8 @@ void ixgbe_fc_autoneg_sgmii_x550em_a(struct ixgbe_hw *hw) goto out; } - /* Get the advertized flow control and modify it to indicate - * pause and asymmetric pause instead of rx and tx - */ - fc = info[0]; - if (fc & FW_PHY_ACT_GET_LINK_INFO_FC_RX) - fc ^= FW_PHY_ACT_GET_LINK_INFO_FC_TX; - - /* Modify link partner's flow control to indicate pause and - * asymmetric pause instead of rx and tx - */ - if (fc & FW_PHY_ACT_GET_LINK_INFO_LP_FC_RX) - fc ^= FW_PHY_ACT_GET_LINK_INFO_LP_FC_TX; - /* Negotiate the flow control */ - status = ixgbe_negotiate_fc(hw, fc, fc, + status = ixgbe_negotiate_fc(hw, info[0], info[0], FW_PHY_ACT_GET_LINK_INFO_FC_RX, FW_PHY_ACT_GET_LINK_INFO_FC_TX, FW_PHY_ACT_GET_LINK_INFO_LP_FC_RX, -- 2.7.4