From patchwork Wed Apr 24 13:21:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Burakov X-Patchwork-Id: 139660 X-Patchwork-Delegate: bruce.richardson@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5605B43EAD; Wed, 24 Apr 2024 15:24:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6307E434AD; Wed, 24 Apr 2024 15:22:52 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by mails.dpdk.org (Postfix) with ESMTP id 1D4E4434C7 for ; Wed, 24 Apr 2024 15:22:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713964970; x=1745500970; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=pGIAgsVSnCsBr0uCmf5KfzmGfU5QPV0DkdvoQ51t2M8=; b=IWLxOpHYiYKSomhWpslDGLgpFy5VlfxaeLYLEr7mLqzmzJvv+1k4GwZM ULYOTl4xK1vuQDdPXTHu6vRY4GiPuyew3RpbUd4RbEaVwS0KrdQ93PY9W vqeVPU0+rObyBeqTaxjJZ4BIFQCusl/jK00npv6jHV2jS8xCAvqCdv1Yr fbDI+3Iq59G7lFXkE8SsR2ZxKszTNvgYczGMW/cCh39qcYeaC3mwbWIjx GYtPNXxCOFXbL2UQMwJKmIxWlrmE+FwB+G6TZm7DWlMNwEcf/nqWrndzz DHiKOG4QA0Ju4bkOZkSjPizfUrwKhnPTRxyFZ+GJRBvQfw1TipZ55gXqw g==; X-CSE-ConnectionGUID: GrGBfYjMTDqZL2VtvQNT0g== X-CSE-MsgGUID: SnCbcEkFSH+3i6HYy4V7CA== X-IronPort-AV: E=McAfee;i="6600,9927,11054"; a="20289275" X-IronPort-AV: E=Sophos;i="6.07,226,1708416000"; d="scan'208";a="20289275" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2024 06:22:50 -0700 X-CSE-ConnectionGUID: knhvYFegSqu7G0kkRQQMoQ== X-CSE-MsgGUID: HH7LqRGMRm61uzflsVzn0Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,226,1708416000"; d="scan'208";a="24749472" Received: from silpixa00401119.ir.intel.com ([10.55.129.167]) by fmviesa006.fm.intel.com with ESMTP; 24 Apr 2024 06:22:48 -0700 From: Anatoly Burakov To: dev@dpdk.org Cc: Krzysztof Galazka , vladimir.medvedkin@intel.com, bruce.richardson@intel.com, Jan Sokolowski Subject: [PATCH v1 15/22] net/ixgbe/base: filter out spurious link up indication Date: Wed, 24 Apr 2024 14:21:49 +0100 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Krzysztof Galazka Extend SFP+ cage crosstalk fix by re-checking link state after 5ms delay to filter out spurious link up indication by transceiver with no fibre cable connected. Signed-off-by: Krzysztof Galazka Reviewed-by: Jan Sokolowski --- drivers/net/ixgbe/base/ixgbe_common.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c index bb6e72fbe6..a19f4d715c 100644 --- a/drivers/net/ixgbe/base/ixgbe_common.c +++ b/drivers/net/ixgbe/base/ixgbe_common.c @@ -4194,10 +4194,25 @@ s32 ixgbe_check_mac_link_generic(struct ixgbe_hw *hw, ixgbe_link_speed *speed, links_reg = IXGBE_READ_REG(hw, IXGBE_LINKS); } } else { - if (links_reg & IXGBE_LINKS_UP) + if (links_reg & IXGBE_LINKS_UP) { + if (ixgbe_need_crosstalk_fix(hw)) { + /* Check the link state again after a delay + * to filter out spurious link up + * notifications. + */ + msec_delay(5); + links_reg = IXGBE_READ_REG(hw, IXGBE_LINKS); + if (!(links_reg & IXGBE_LINKS_UP)) { + *link_up = false; + *speed = IXGBE_LINK_SPEED_UNKNOWN; + return IXGBE_SUCCESS; + } + + } *link_up = true; - else + } else { *link_up = false; + } } switch (links_reg & IXGBE_LINKS_SPEED_82599) {