net/sfc/base: add Medford2 support to BOOTCFG module
authorAndy Moreton <amoreton@solarflare.com>
Tue, 20 Feb 2018 07:33:38 +0000 (07:33 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 30 Mar 2018 12:08:42 +0000 (14:08 +0200)
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
drivers/net/sfc/base/efx_bootcfg.c

index 0f71936..3a29306 100644 (file)
@@ -68,6 +68,20 @@ efx_bootcfg_sector_info(
        }
 #endif /* EFSYS_OPT_MEDFORD */
 
+#if EFSYS_OPT_MEDFORD2
+       case EFX_FAMILY_MEDFORD2: {
+               /* Shared partition (array indexed by PF) */
+               max_size = BOOTCFG_PER_PF;
+               count = BOOTCFG_PF_COUNT;
+               if (pf >= count) {
+                       rc = EINVAL;
+                       goto fail3;
+               }
+               offset = max_size * pf;
+               break;
+       }
+#endif /* EFSYS_OPT_MEDFORD2 */
+
        default:
                EFSYS_ASSERT(0);
                rc = ENOTSUP;
@@ -82,6 +96,10 @@ efx_bootcfg_sector_info(
 
        return (0);
 
+#if EFSYS_OPT_MEDFORD2
+fail3:
+       EFSYS_PROBE(fail3);
+#endif
 #if EFSYS_OPT_MEDFORD
 fail2:
        EFSYS_PROBE(fail2);
@@ -277,7 +295,7 @@ efx_bootcfg_read(
        efx_rc_t rc;
        uint32_t sector_number;
 
-#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
+#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
        sector_number = enp->en_nic_cfg.enc_pf;
 #else
        sector_number = 0;
@@ -418,7 +436,7 @@ efx_bootcfg_write(
        efx_rc_t rc;
        uint32_t sector_number;
 
-#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
+#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
        sector_number = enp->en_nic_cfg.enc_pf;
 #else
        sector_number = 0;