patch 'net/axgbe: disable RRC for yellow carp devices' has been queued to stable release 22.11.6
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Tue Jun 25 01:58:13 CEST 2024
Hi,
FYI, your patch has been queued to stable release 22.11.6
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/27/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/a1e4f462f35e4015d7f2de421d96fbd39ff42632
Thanks.
Luca Boccassi
---
>From a1e4f462f35e4015d7f2de421d96fbd39ff42632 Mon Sep 17 00:00:00 2001
From: Venkat Kumar Ande <venkatkumar.ande at amd.com>
Date: Tue, 4 Jun 2024 17:41:38 +0530
Subject: [PATCH] net/axgbe: disable RRC for yellow carp devices
[ upstream commit e82b0fe097da02eab8be924a28a0a4ca96bc3c69 ]
Link stability issues are noticed on Yellow carp platforms when Receiver
Reset Cycle is issued. Since the CDR workaround is disabled on these
platforms, the Receiver Reset Cycle is not needed.
So, avoid issuing rrc on Yellow carp platforms.
Without the fix the user will not get the link UP.
Fixes: a5c7273771e8 ("net/axgbe: add phy programming APIs")
Signed-off-by: Venkat Kumar Ande <venkatkumar.ande at amd.com>
Acked-by: Selwin Sebastian <selwin.sebastian at amd.com>
---
drivers/net/axgbe/axgbe_ethdev.c | 5 +++++
drivers/net/axgbe/axgbe_ethdev.h | 1 +
drivers/net/axgbe/axgbe_phy_impl.c | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 30440e9e1d..2156b1d17a 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -205,6 +205,7 @@ static struct axgbe_version_data axgbe_v2a = {
.ecc_support = 1,
.i2c_support = 1,
.an_cdr_workaround = 1,
+ .enable_rrc = 1,
};
static struct axgbe_version_data axgbe_v2b = {
@@ -217,6 +218,7 @@ static struct axgbe_version_data axgbe_v2b = {
.ecc_support = 1,
.i2c_support = 1,
.an_cdr_workaround = 1,
+ .enable_rrc = 1,
};
static const struct rte_eth_desc_lim rx_desc_lim = {
@@ -2224,6 +2226,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
/* Yellow Carp devices do not need cdr workaround */
pdata->vdata->an_cdr_workaround = 0;
+
+ /* Yellow Carp devices do not need rrc */
+ pdata->vdata->enable_rrc = 0;
} else {
unknown_cpu = 1;
}
diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h
index 7f19321d88..ae57aeaa00 100644
--- a/drivers/net/axgbe/axgbe_ethdev.h
+++ b/drivers/net/axgbe/axgbe_ethdev.h
@@ -463,6 +463,7 @@ struct axgbe_version_data {
unsigned int ecc_support;
unsigned int i2c_support;
unsigned int an_cdr_workaround;
+ unsigned int enable_rrc;
};
struct axgbe_mmc_stats {
diff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c
index 8f8845a1c5..46ee5f0617 100644
--- a/drivers/net/axgbe/axgbe_phy_impl.c
+++ b/drivers/net/axgbe/axgbe_phy_impl.c
@@ -1708,7 +1708,7 @@ static int axgbe_phy_link_status(struct axgbe_port *pdata, int *an_restart)
}
/* No link, attempt a receiver reset cycle */
- if (phy_data->rrc_count++) {
+ if (pdata->vdata->enable_rrc && phy_data->rrc_count++) {
phy_data->rrc_count = 0;
axgbe_phy_rrc(pdata);
}
--
2.39.2
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-06-25 00:22:15.281453298 +0100
+++ 0027-net-axgbe-disable-RRC-for-yellow-carp-devices.patch 2024-06-25 00:22:13.117184263 +0100
@@ -1 +1 @@
-From e82b0fe097da02eab8be924a28a0a4ca96bc3c69 Mon Sep 17 00:00:00 2001
+From a1e4f462f35e4015d7f2de421d96fbd39ff42632 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e82b0fe097da02eab8be924a28a0a4ca96bc3c69 ]
+
@@ -15 +16,0 @@
-Cc: stable at dpdk.org
@@ -26 +27 @@
-index e5d8f7db02..86c2ec64e0 100644
+index 30440e9e1d..2156b1d17a 100644
@@ -29 +30 @@
-@@ -208,6 +208,7 @@ static struct axgbe_version_data axgbe_v2a = {
+@@ -205,6 +205,7 @@ static struct axgbe_version_data axgbe_v2a = {
@@ -37 +38 @@
-@@ -220,6 +221,7 @@ static struct axgbe_version_data axgbe_v2b = {
+@@ -217,6 +218,7 @@ static struct axgbe_version_data axgbe_v2b = {
@@ -45 +46 @@
-@@ -2269,6 +2271,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
+@@ -2224,6 +2226,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
@@ -56 +57 @@
-index df5d63c493..f122dfd516 100644
+index 7f19321d88..ae57aeaa00 100644
@@ -68 +69 @@
-index ee9dcbe3da..f51830f800 100644
+index 8f8845a1c5..46ee5f0617 100644
More information about the stable
mailing list