aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-5.15/0027-net-amd-xgbe-Add-Support-for-Yellow-Carp-Ethernet-de.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-5.15/0027-net-amd-xgbe-Add-Support-for-Yellow-Carp-Ethernet-de.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-5.15/0027-net-amd-xgbe-Add-Support-for-Yellow-Carp-Ethernet-de.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-5.15/0027-net-amd-xgbe-Add-Support-for-Yellow-Carp-Ethernet-de.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-5.15/0027-net-amd-xgbe-Add-Support-for-Yellow-Carp-Ethernet-de.patch
new file mode 100644
index 00000000..d36f4515
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-5.15/0027-net-amd-xgbe-Add-Support-for-Yellow-Carp-Ethernet-de.patch
@@ -0,0 +1,54 @@
+From 3051c2863b2c4b51984dfadab5d0bc993ae162d8 Mon Sep 17 00:00:00 2001
+From: Raju Rangoju <Raju.Rangoju@amd.com>
+Date: Mon, 20 Dec 2021 19:24:26 +0530
+Subject: [PATCH 27/48] net: amd-xgbe: Add Support for Yellow Carp Ethernet
+ device
+
+commit dbb6c58b5a61d0c26a3da65ebb728727c305c3a1 upstream
+
+Yellow Carp Ethernet devices use the existing PCI ID but
+the window settings for the indirect PCS access have been
+altered. Add the check for Yellow Carp Ethernet devices to
+use the new register values.
+
+Co-developed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
+Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
+Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Zhaolong Zhang <zhaolong.zhang@windriver.com>
+---
+ drivers/net/ethernet/amd/xgbe/xgbe-common.h | 2 ++
+ drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 4 ++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-common.h b/drivers/net/ethernet/amd/xgbe/xgbe-common.h
+index 533b8519ec35..0075939121d1 100644
+--- a/drivers/net/ethernet/amd/xgbe/xgbe-common.h
++++ b/drivers/net/ethernet/amd/xgbe/xgbe-common.h
+@@ -898,6 +898,8 @@
+ #define PCS_V2_WINDOW_SELECT 0x9064
+ #define PCS_V2_RV_WINDOW_DEF 0x1060
+ #define PCS_V2_RV_WINDOW_SELECT 0x1064
++#define PCS_V2_YC_WINDOW_DEF 0x18060
++#define PCS_V2_YC_WINDOW_SELECT 0x18064
+
+ /* PCS register entry bit positions and sizes */
+ #define PCS_V2_WINDOW_DEF_OFFSET_INDEX 6
+diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
+index 014513ce00a1..6ed1eceae348 100644
+--- a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
++++ b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c
+@@ -278,6 +278,10 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
+ (rdev->vendor == PCI_VENDOR_ID_AMD) && (rdev->device == 0x15d0)) {
+ pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
+ pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
++ } else if (rdev && (rdev->vendor == PCI_VENDOR_ID_AMD) &&
++ (rdev->device == 0x14b5)) {
++ pdata->xpcs_window_def_reg = PCS_V2_YC_WINDOW_DEF;
++ pdata->xpcs_window_sel_reg = PCS_V2_YC_WINDOW_SELECT;
+ } else {
+ pdata->xpcs_window_def_reg = PCS_V2_WINDOW_DEF;
+ pdata->xpcs_window_sel_reg = PCS_V2_WINDOW_SELECT;
+--
+2.27.0
+