From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5A0D445804 for ; Fri, 23 Aug 2024 18:20:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5593A4337A; Fri, 23 Aug 2024 18:20:23 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id CAE6D4336D for ; Fri, 23 Aug 2024 18:20:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1724430021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NYm0I1AdB1Vo8VkNmfaBat3J05etV1rafBqvhTn7jw4=; b=V8D3IMgJu5bGitJjivHOJYQfCG+6WJ6XYMgLzrTANyN1Gneb1YJqW2Nr0/qpZAfH2ChB2x uFsGWo4tvrR9k2dSR3DpWX2U63U4637pR+FUeQ5ItjhmTZoCEJskVEEHg90yB4FGIQrfxH na5pXFmjI6cFe1x/K/QlwYRcAwnXAKk= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-539-Gl3cSkeaM2ed2OcaTHu73A-1; Fri, 23 Aug 2024 12:20:18 -0400 X-MC-Unique: Gl3cSkeaM2ed2OcaTHu73A-1 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2E0CE1955F43; Fri, 23 Aug 2024 16:20:17 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.193.224]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D0B5E1956053; Fri, 23 Aug 2024 16:20:15 +0000 (UTC) From: Kevin Traynor To: Venkat Kumar Ande Cc: Selwin Sebastian , dpdk stable Subject: patch 'net/axgbe: reset link when link never comes back' has been queued to stable release 21.11.8 Date: Fri, 23 Aug 2024 17:17:26 +0100 Message-ID: <20240823161929.1004778-18-ktraynor@redhat.com> In-Reply-To: <20240823161929.1004778-1-ktraynor@redhat.com> References: <20240823161929.1004778-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/28/24. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/4615048c8a362ca9b6fef5d83abc56e31643dfa9 Thanks. Kevin --- >From 4615048c8a362ca9b6fef5d83abc56e31643dfa9 Mon Sep 17 00:00:00 2001 From: Venkat Kumar Ande Date: Tue, 4 Jun 2024 17:41:34 +0530 Subject: [PATCH] net/axgbe: reset link when link never comes back [ upstream commit edf463256dd35803aaa11b0da704a0542ad20071 ] Normally, auto negotiation and reconnect should be automatically done by the hardware. But there seems to be an issue where auto negotiation has to be restarted manually. This happens because of link training and so even though still connected to the partner the link never "comes back". This needs an auto-negotiation restart. Without the fix the user will not see the link up status Fixes: a5c7273771e8 ("net/axgbe: add phy programming APIs") Signed-off-by: Venkat Kumar Ande Acked-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_mdio.c | 2 +- drivers/net/axgbe/axgbe_phy_impl.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c index 32d8c666f9..523b6c0f07 100644 --- a/drivers/net/axgbe/axgbe_mdio.c +++ b/drivers/net/axgbe/axgbe_mdio.c @@ -1084,5 +1084,5 @@ static void axgbe_phy_status(struct axgbe_port *pdata) if (an_restart) { axgbe_phy_config_aneg(pdata); - return; + goto adjust_link; } diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c index 72104f8a3f..df334749e9 100644 --- a/drivers/net/axgbe/axgbe_phy_impl.c +++ b/drivers/net/axgbe/axgbe_phy_impl.c @@ -1694,4 +1694,11 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) return 1; + if (pdata->phy.autoneg == AUTONEG_ENABLE && + phy_data->port_mode == AXGBE_PORT_MODE_BACKPLANE) { + if (rte_bit_relaxed_get32(AXGBE_LINK_INIT, &pdata->dev_state)) { + *an_restart = 1; + } + } + /* No link, attempt a receiver reset cycle */ if (phy_data->rrc_count++) { -- 2.46.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-08-23 17:18:10.545995897 +0100 +++ 0018-net-axgbe-reset-link-when-link-never-comes-back.patch 2024-08-23 17:18:09.639429822 +0100 @@ -1 +1 @@ -From edf463256dd35803aaa11b0da704a0542ad20071 Mon Sep 17 00:00:00 2001 +From 4615048c8a362ca9b6fef5d83abc56e31643dfa9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit edf463256dd35803aaa11b0da704a0542ad20071 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index 913ceada0d..b03bc471cb 100644 +index 32d8c666f9..523b6c0f07 100644 @@ -28 +29 @@ -@@ -1052,5 +1052,5 @@ static void axgbe_phy_status(struct axgbe_port *pdata) +@@ -1084,5 +1084,5 @@ static void axgbe_phy_status(struct axgbe_port *pdata) @@ -36 +37 @@ -index 44ff28517c..54fe9faae0 100644 +index 72104f8a3f..df334749e9 100644 @@ -39 +40 @@ -@@ -1698,4 +1698,11 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart) +@@ -1694,4 +1694,11 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart)