]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
amd-xgbe: reorganize the xgbe_pci_probe() code path
authorRaju Rangoju <Raju.Rangoju@amd.com>
Fri, 9 May 2025 15:53:22 +0000 (21:23 +0530)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 13 May 2025 11:29:40 +0000 (13:29 +0200)
Reorganize the xgbe_pci_probe() code path to convert if/else statements
to switch case to help add future code. This helps code look cleaner.

Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250509155325.720499-3-Raju.Rangoju@amd.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/amd/xgbe/xgbe-pci.c
drivers/net/ethernet/amd/xgbe/xgbe.h

index 3e9f31256dce44696235b17682d8a5b116165c23..d36446e76d0a42bee2636dbe76b70f2e860da96d 100644 (file)
@@ -165,20 +165,27 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
        /* Set the PCS indirect addressing definition registers */
        rdev = pci_get_domain_bus_and_slot(0, 0, PCI_DEVFN(0, 0));
-       if (rdev &&
-           (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;
-
-               /* 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;
+       if (rdev && rdev->vendor == PCI_VENDOR_ID_AMD) {
+               switch (rdev->device) {
+               case XGBE_RV_PCI_DEVICE_ID:
+                       pdata->xpcs_window_def_reg = PCS_V2_RV_WINDOW_DEF;
+                       pdata->xpcs_window_sel_reg = PCS_V2_RV_WINDOW_SELECT;
+                       break;
+               case XGBE_YC_PCI_DEVICE_ID:
+                       pdata->xpcs_window_def_reg = PCS_V2_YC_WINDOW_DEF;
+                       pdata->xpcs_window_sel_reg = PCS_V2_YC_WINDOW_SELECT;
+
+                       /* 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;
+                       break;
+               default:
+                       pdata->xpcs_window_def_reg = PCS_V2_WINDOW_DEF;
+                       pdata->xpcs_window_sel_reg = PCS_V2_WINDOW_SELECT;
+                       break;
+               }
        } else {
                pdata->xpcs_window_def_reg = PCS_V2_WINDOW_DEF;
                pdata->xpcs_window_sel_reg = PCS_V2_WINDOW_SELECT;
index 8ac0f3a22fb6be9328eb2eb4f618e2406b4f0669..37e5f8fad6b245f96df2f449cf5fcaef6bd6df0d 100644 (file)
                    (_src)->link_modes._sname,          \
                    __ETHTOOL_LINK_MODE_MASK_NBITS)
 
+/* XGBE PCI device id */
+#define XGBE_RV_PCI_DEVICE_ID  0x15d0
+#define XGBE_YC_PCI_DEVICE_ID  0x14b5
+
 struct xgbe_prv_data;
 
 struct xgbe_packet_data {