net: amd-xgbe: Add Support for Yellow Carp Ethernet device
authorRaju Rangoju <Raju.Rangoju@amd.com>
Mon, 20 Dec 2021 13:54:26 +0000 (19:24 +0530)
committerJakub Kicinski <kuba@kernel.org>
Tue, 21 Dec 2021 02:42:39 +0000 (18:42 -0800)
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>
drivers/net/ethernet/amd/xgbe/xgbe-common.h
drivers/net/ethernet/amd/xgbe/xgbe-pci.c

index 533b851..0075939 100644 (file)
 #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
index 90cb55e..0f930b1 100644 (file)
@@ -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;