patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Xueming Li <xuemingl@nvidia.com>
To: Dengdui Huang <huangdengdui@huawei.com>
Cc: <xuemingl@nvidia.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'net/hns3: fix copper port initialization' has been queued to stable release 23.11.4
Date: Tue, 18 Feb 2025 20:35:07 +0800	[thread overview]
Message-ID: <20250218123523.36836-73-xuemingl@nvidia.com> (raw)
In-Reply-To: <20250218123523.36836-1-xuemingl@nvidia.com>

Hi,

FYI, your patch has been queued to stable release 23.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=e0999f779484a90d6622ffc2644f029329d6185a

Thanks.

Xueming Li <xuemingl@nvidia.com>

---
From e0999f779484a90d6622ffc2644f029329d6185a Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 10 Feb 2025 11:01:12 +0800
Subject: [PATCH] net/hns3: fix copper port initialization
Cc: Xueming Li <xuemingl@nvidia.com>

[ upstream commit 763546c33ea9600e76790c470d2921808068eb3d ]

The initialization of copper port contains the following two steps.
1. Configure firmware takeover the PHY. The firmware will start an
   asynchronous task to initialize the PHY chip.
2. Configure work speed and duplex.
In earlier versions of the firmware, when the asynchronous task is not
finished, the firmware will return -ENOTBLK in the second step. And this
will lead to driver failed to initialize. Here add retry for this case.

Fixes: 2e4859f3b362 ("net/hns3: support PF device with copper PHYs")

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
---
 drivers/net/hns3/hns3_ethdev.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index dde27715c0..dd450cddaa 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -4852,7 +4852,7 @@ hns3_get_link_duplex(uint32_t link_speeds)
 }

 static int
-hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+hns3_copper_port_link_speed_cfg(struct hns3_hw *hw,
 				struct hns3_set_link_speed_cfg *cfg)
 {
 	struct hns3_cmd_desc desc[HNS3_PHY_PARAM_CFG_BD_NUM];
@@ -4886,6 +4886,33 @@ hns3_set_copper_port_link_speed(struct hns3_hw *hw,
 	return hns3_cmd_send(hw, desc, HNS3_PHY_PARAM_CFG_BD_NUM);
 }

+static int
+hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+				struct hns3_set_link_speed_cfg *cfg)
+{
+#define HNS3_PHY_PARAM_CFG_RETRY_TIMES		10
+#define HNS3_PHY_PARAM_CFG_RETRY_DELAY_MS	100
+	uint32_t retry_cnt = 0;
+	int ret;
+
+	/*
+	 * The initialization of copper port contains the following two steps.
+	 * 1. Configure firmware takeover the PHY. The firmware will start an
+	 *    asynchronous task to initialize the PHY chip.
+	 * 2. Configure work speed and duplex.
+	 * In earlier versions of the firmware, when the asynchronous task is not
+	 * finished, the firmware will return -ENOTBLK in the second step. And this
+	 * will lead to driver failed to initialize. Here add retry for this case.
+	 */
+	ret = hns3_copper_port_link_speed_cfg(hw, cfg);
+	while (ret == -ENOTBLK && retry_cnt++ < HNS3_PHY_PARAM_CFG_RETRY_TIMES) {
+		rte_delay_ms(HNS3_PHY_PARAM_CFG_RETRY_DELAY_MS);
+		ret = hns3_copper_port_link_speed_cfg(hw, cfg);
+	}
+
+	return ret;
+}
+
 static int
 hns3_set_autoneg(struct hns3_hw *hw, bool enable)
 {
--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-18 19:39:03.217410402 +0800
+++ 0072-net-hns3-fix-copper-port-initialization.patch	2025-02-18 19:39:00.698244036 +0800
@@ -1 +1 @@
-From 763546c33ea9600e76790c470d2921808068eb3d Mon Sep 17 00:00:00 2001
+From e0999f779484a90d6622ffc2644f029329d6185a Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl@nvidia.com>
+
+[ upstream commit 763546c33ea9600e76790c470d2921808068eb3d ]
@@ -15 +17,0 @@
-Cc: stable@dpdk.org
@@ -23 +25 @@
-index 72d1c30a7b..9f7119b734 100644
+index dde27715c0..dd450cddaa 100644

  parent reply	other threads:[~2025-02-18 12:43 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 12:33 patch " Xueming Li
2025-02-18 12:33 ` patch 'test/ring: fix init with custom number of lcores' " Xueming Li
2025-02-18 12:33 ` patch 'vhost: clear ring addresses when getting vring base' " Xueming Li
2025-02-18 12:33 ` patch 'vhost: check GSO size validity' " Xueming Li
2025-02-18 12:33 ` patch 'vhost: fix log when setting max queue num' " Xueming Li
2025-02-18 12:34 ` patch 'vhost: reset packets count when not ready' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/cnxk: fix build with GCC 15' " Xueming Li
2025-02-18 12:34 ` patch 'net/thunderx/base: " Xueming Li
2025-02-18 12:34 ` patch 'eal/x86: fix some intrinsics header include for Windows' " Xueming Li
2025-02-18 12:34 ` patch 'test/bonding: fix active backup receive test' " Xueming Li
2025-02-18 12:34 ` patch 'net/bonding: fix dedicated queue setup' " Xueming Li
2025-02-18 12:34 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " Xueming Li
2025-02-18 12:34 ` patch 'net/hns3: remove PVID info dump for VF' " Xueming Li
2025-02-18 12:34 ` patch 'net/hns3: rename RAS module' " Xueming Li
2025-02-18 12:34 ` patch 'net/sfc: remove unnecessary assignment' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix polling CQEs' " Xueming Li
2025-02-18 12:34 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " Xueming Li
2025-02-18 12:34 ` patch 'net/ice: fix memory leak in scalar Rx' " Xueming Li
2025-02-18 12:34 ` patch 'common/cnxk: fix atomic load in batch ops' " Xueming Li
2025-02-18 12:34 ` patch 'common/cnxk: fix DPI mailbox structure' " Xueming Li
2025-02-18 12:34 ` patch 'eventdev: fix format string data type in log messages' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/virtio: fix redundant queue free' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/openssl: fix CMAC auth context update' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/virtio: fix data queues iteration' " Xueming Li
2025-02-18 12:34 ` patch 'net/octeon_ep: remove useless assignment' " Xueming Li
2025-02-18 12:34 ` patch 'net/enetfec: " Xueming Li
2025-02-18 12:34 ` patch 'net/nfp: fix multiple PFs check from NSP' " Xueming Li
2025-02-18 12:34 ` patch 'net/nfp: fix misuse of function return values' " Xueming Li
2025-02-18 12:34 ` patch 'net/nfp: fix multi-PF control flag' " Xueming Li
2025-02-18 12:34 ` patch 'net/ice: fix flows handling' " Xueming Li
2025-02-18 12:34 ` patch 'net/cnxk: fix NIX send header L3 type' " Xueming Li
2025-02-18 12:34 ` patch 'gro: fix unprocessed IPv4 packets' " Xueming Li
2025-02-18 12:34 ` patch 'eal/linux: fix memseg length in legacy mem init' " Xueming Li
2025-02-18 12:34 ` patch 'buildtools: fix some Python regex syntax warnings' " Xueming Li
2025-02-18 12:34 ` patch 'use Python raw string notation' " Xueming Li
2025-02-18 12:34 ` patch 'net/af_packet: fix socket close on device stop' " Xueming Li
2025-02-18 12:34 ` patch 'ethdev: fix functions available in new device event' " Xueming Li
2025-02-18 12:34 ` patch 'vhost: add null callback checks' " Xueming Li
2025-02-18 12:34 ` patch 'build: force GCC 15 to initialize padding bits' " Xueming Li
2025-02-18 12:34 ` patch 'net/bnxt: fix indication of allocation' " Xueming Li
2025-02-18 12:34 ` patch 'net/bnxt: fix crash when representor is re-attached' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix Netlink socket leak' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: adjust actions per rule limitation' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix flush of non-template flow rules' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix GRE flow match with SWS' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix deadlock when writing i225 register' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix infinite loop' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix bitwise operation type' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: increase PHY power up delay' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: reset loop variable' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix LTR for i225' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix typo in LTR calculation' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix unused value' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix semaphore timeout " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix iterator type' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix MAC address hash bit shift' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix data type in MAC hash' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix NVM data type in bit shift' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix semaphore timeout value' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: correct mPHY access logic' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix iterator type' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix MAC address hash bit shift' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix data type in MAC hash' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix uninitialized variable' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix bitwise operation type' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: fix NVM data type in bit shift' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: fix reset for 82580' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: fix unchecked return' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: skip management check for 82575' " Xueming Li
2025-02-18 12:35 ` patch 'common/idpf: fix void function returning a value' " Xueming Li
2025-02-18 12:35 ` patch 'net/intel: fix void functions " Xueming Li
2025-02-18 12:35 ` patch 'net/intel: fix build with icx' " Xueming Li
2025-02-18 12:35 ` Xueming Li [this message]
2025-02-18 12:35 ` patch 'net/hns3: fix reset timeout' " Xueming Li
2025-02-18 12:35 ` patch 'net/cpfl: fix representor parsing log' " Xueming Li
2025-02-18 12:35 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " Xueming Li
2025-02-18 12:35 ` patch 'eal: fix devargs layers parsing out of bounds' " Xueming Li
2025-02-18 12:35 ` patch 'net/qede: fix debug messages array' " Xueming Li
2025-02-18 12:35 ` patch 'net/hinic: fix flow type bitmask overflow' " Xueming Li
2025-02-18 12:35 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " Xueming Li
2025-02-18 12:35 ` patch 'crypto/dpaa_sec: " Xueming Li
2025-02-18 12:35 ` patch 'event/dpaa: " Xueming Li
2025-02-18 12:35 ` patch 'net/dpaa: " Xueming Li
2025-02-18 12:35 ` patch 'net/dpaa2: " Xueming Li
2025-02-18 12:35 ` patch 'net/qede: fix nested loops' " Xueming Li
2025-02-18 12:35 ` patch 'examples/l3fwd: fix socket ID check' " Xueming Li
2025-02-18 12:35 ` patch 'common/cnxk: fix null " Xueming Li
2025-02-18 12:35 ` patch 'eal/linux: remove useless assignments' " Xueming Li
2025-02-18 12:35 ` patch 'mempool: fix errno in empty create' " Xueming Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250218123523.36836-73-xuemingl@nvidia.com \
    --to=xuemingl@nvidia.com \
    --cc=huangdengdui@huawei.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).