net/sfc/base: add Medford2 support to MAC module
authorAndy Moreton <amoreton@solarflare.com>
Tue, 20 Feb 2018 07:33:31 +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/ef10_mac.c
drivers/net/sfc/base/efx_impl.h
drivers/net/sfc/base/efx_mac.c

index db7692e..ed778f7 100644 (file)
@@ -8,7 +8,7 @@
 #include "efx_impl.h"
 
 
-#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
+#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
 
        __checkReturn   efx_rc_t
 ef10_mac_poll(
@@ -356,7 +356,8 @@ ef10_mac_multicast_list_set(
        efx_rc_t rc;
 
        EFSYS_ASSERT(enp->en_family == EFX_FAMILY_HUNTINGTON ||
-                   enp->en_family == EFX_FAMILY_MEDFORD);
+           enp->en_family == EFX_FAMILY_MEDFORD ||
+           enp->en_family == EFX_FAMILY_MEDFORD2);
 
        if ((rc = emop->emo_reconfigure(enp)) != 0)
                goto fail1;
@@ -870,4 +871,4 @@ ef10_mac_stats_update(
 
 #endif /* EFSYS_OPT_MAC_STATS */
 
-#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
+#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
index fadcbb4..76214fb 100644 (file)
@@ -65,6 +65,7 @@ typedef enum efx_mac_type_e {
        EFX_MAC_SIENA,
        EFX_MAC_HUNTINGTON,
        EFX_MAC_MEDFORD,
+       EFX_MAC_MEDFORD2,
        EFX_MAC_NTYPES
 } efx_mac_type_t;
 
index 511f3eb..117d6d5 100644 (file)
@@ -39,7 +39,7 @@ static const efx_mac_ops_t    __efx_mac_siena_ops = {
 };
 #endif /* EFSYS_OPT_SIENA */
 
-#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD
+#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2
 static const efx_mac_ops_t     __efx_mac_ef10_ops = {
        ef10_mac_poll,                          /* emo_poll */
        ef10_mac_up,                            /* emo_up */
@@ -62,7 +62,7 @@ static const efx_mac_ops_t    __efx_mac_ef10_ops = {
        ef10_mac_stats_update                   /* emo_stats_update */
 #endif /* EFSYS_OPT_MAC_STATS */
 };
-#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */
+#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2 */
 
        __checkReturn                   efx_rc_t
 efx_mac_pdu_set(
@@ -826,6 +826,13 @@ efx_mac_select(
                break;
 #endif /* EFSYS_OPT_MEDFORD */
 
+#if EFSYS_OPT_MEDFORD2
+       case EFX_FAMILY_MEDFORD2:
+               emop = &__efx_mac_ef10_ops;
+               type = EFX_MAC_MEDFORD2;
+               break;
+#endif /* EFSYS_OPT_MEDFORD2 */
+
        default:
                rc = EINVAL;
                goto fail1;