From: Raju Rangoju <Raju.Rangoju@amd.com>
To: <thomas.lendacky@amd.com>, <Shyam-sundar.S-k@amd.com>,
<davem@davemloft.net>, <kuba@kernel.org>
Cc: <netdev@vger.kernel.org>, <Rajesh1.Kumar@amd.com>,
Raju Rangoju <Raju.Rangoju@amd.com>
Subject: [PATCH v3 net 1/5] amd-xgbe: Yellow carp devices do not need rrc
Date: Thu, 20 Oct 2022 12:12:11 +0530 [thread overview]
Message-ID: <20221020064215.2341278-2-Raju.Rangoju@amd.com> (raw)
In-Reply-To: <20221020064215.2341278-1-Raju.Rangoju@amd.com>
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.
Fixes: dbb6c58b5a61 ("net: amd-xgbe: Add Support for Yellow Carp Ethernet device")
Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
---
Changes since v1:
- Use the correct fixes tag
- Update the commit message
drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 5 +++++
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 2 +-
drivers/net/ethernet/amd/xgbe/xgbe.h | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
index 2af3da4b2d05..f409d7bd1f1e 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
@@ -285,6 +285,9 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
/* 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 {
pdata->xpcs_window_def_reg = PCS_V2_WINDOW_DEF;
pdata->xpcs_window_sel_reg = PCS_V2_WINDOW_SELECT;
@@ -483,6 +486,7 @@ static struct xgbe_version_data xgbe_v2a = {
.tx_desc_prefetch = 5,
.rx_desc_prefetch = 5,
.an_cdr_workaround = 1,
+ .enable_rrc = 1,
};
static struct xgbe_version_data xgbe_v2b = {
@@ -498,6 +502,7 @@ static struct xgbe_version_data xgbe_v2b = {
.tx_desc_prefetch = 5,
.rx_desc_prefetch = 5,
.an_cdr_workaround = 1,
+ .enable_rrc = 1,
};
static const struct pci_device_id xgbe_pci_table[] = {
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
index 2156600641b6..19b943eba560 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
@@ -2640,7 +2640,7 @@ static int xgbe_phy_link_status(struct xgbe_prv_data *pdata, int *an_restart)
}
/* No link, attempt a receiver reset cycle */
- if (phy_data->rrc_count++ > XGBE_RRC_FREQUENCY) {
+ if (pdata->vdata->enable_rrc && phy_data->rrc_count++ > XGBE_RRC_FREQUENCY) {
phy_data->rrc_count = 0;
xgbe_phy_rrc(pdata);
}
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h
index b875c430222e..49d23abce73d 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe.h
+++ b/drivers/net/ethernet/amd/xgbe/xgbe.h
@@ -1013,6 +1013,7 @@ struct xgbe_version_data {
unsigned int tx_desc_prefetch;
unsigned int rx_desc_prefetch;
unsigned int an_cdr_workaround;
+ unsigned int enable_rrc;
};
struct xgbe_prv_data {
--
2.25.1
next prev parent reply other threads:[~2022-10-20 6:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-20 6:42 [PATCH v3 net 0/5] amd-xgbe: Miscellaneous fixes Raju Rangoju
2022-10-20 6:42 ` Raju Rangoju [this message]
2022-10-21 4:46 ` [PATCH v3 net 1/5] amd-xgbe: Yellow carp devices do not need rrc Jakub Kicinski
2022-10-21 13:40 ` Tom Lendacky
2022-10-20 6:42 ` [PATCH v3 net 2/5] amd-xgbe: use enums for mailbox cmd and sub_cmds Raju Rangoju
2022-10-20 6:42 ` [PATCH v3 net 3/5] amd-xgbe: enable PLL_CTL for fixed PHY modes only Raju Rangoju
2022-10-20 6:42 ` [PATCH v3 net 4/5] amd-xgbe: fix the SFP compliance codes check for DAC cables Raju Rangoju
2022-10-20 6:42 ` [PATCH v3 net 5/5] amd-xgbe: add the bit rate quirk for Molex cables Raju Rangoju
2022-10-20 17:33 ` [PATCH v3 net 0/5] amd-xgbe: Miscellaneous fixes Tom Lendacky
2022-10-22 5:50 ` patchwork-bot+netdevbpf
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=20221020064215.2341278-2-Raju.Rangoju@amd.com \
--to=raju.rangoju@amd.com \
--cc=Rajesh1.Kumar@amd.com \
--cc=Shyam-sundar.S-k@amd.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=thomas.lendacky@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.