From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id AAA3BA04E1;
	Tue, 22 Sep 2020 11:47:13 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 76C601DDBD;
	Tue, 22 Sep 2020 11:36:52 +0200 (CEST)
Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com
 [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 2DD3E1D55B
 for <dev@dpdk.org>; Tue, 22 Sep 2020 11:35:12 +0200 (CEST)
Received: from mx1-us1.ppe-hosted.com (unknown [10.110.50.150])
 by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id
 CC09C20057 for <dev@dpdk.org>; Tue, 22 Sep 2020 09:35:11 +0000 (UTC)
Received: from us4-mdac16-40.at1.mdlocal (unknown [10.110.51.55])
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id CBCD2800A3
 for <dev@dpdk.org>; Tue, 22 Sep 2020 09:35:11 +0000 (UTC)
X-Virus-Scanned: Proofpoint Essentials engine
Received: from mx1-us1.ppe-hosted.com (unknown [10.110.49.32])
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 5237B10004F
 for <dev@dpdk.org>; Tue, 22 Sep 2020 09:35:11 +0000 (UTC)
Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 1BB14280069
 for <dev@dpdk.org>; Tue, 22 Sep 2020 09:35:11 +0000 (UTC)
Received: from ukex01.SolarFlarecom.com (10.17.10.4) by
 ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id
 15.0.1497.2; Tue, 22 Sep 2020 10:34:58 +0100
Received: from opal.uk.solarflarecom.com (10.17.10.1) by
 ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id
 15.0.1497.2 via Frontend Transport; Tue, 22 Sep 2020 10:34:58 +0100
Received: from ukv-loginhost.uk.solarflarecom.com
 (ukv-loginhost.uk.solarflarecom.com [10.17.10.39])
 by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 08M9Yw03027016
 for <dev@dpdk.org>; Tue, 22 Sep 2020 10:34:58 +0100
Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])
 by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id ED21B1613AB
 for <dev@dpdk.org>; Tue, 22 Sep 2020 10:34:57 +0100 (BST)
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: <dev@dpdk.org>
Date: Tue, 22 Sep 2020 10:34:40 +0100
Message-ID: <1600767288-12109-53-git-send-email-arybchenko@solarflare.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1600767288-12109-1-git-send-email-arybchenko@solarflare.com>
References: <1600764594-14752-1-git-send-email-arybchenko@solarflare.com>
 <1600767288-12109-1-git-send-email-arybchenko@solarflare.com>
MIME-Version: 1.0
Content-Type: text/plain
X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.6.1012-25674.003
X-TM-AS-Result: No-2.218500-8.000000-10
X-TMASE-MatchedRID: JE3IqDHqIlRwmwJKzmoXvN1+No0HEURtaeMaKzvXUpljLp8Cm8vwF5eg
 nc+D+O7x7afHkEmafZNw5T4Iaj538mJZXQNDzktSrSAIWhdbeu+Oz/LLJUcaHlVkJxysad/IWFC
 ZbvPiXUWaJfo0dDvh7uehiFig8ZML2DRLgpZEiUb/V0SDC1Do0LqGBW9J0Yqj4uxAgOavdLkTw7
 jCStQ0rgpziWOou199rotBFWSuK2gfE8yM4pjsD7TsNDeEKGMAxEHRux+uk8ifEzJ5hPndGb/l3
 H6/FhCkcINU0gY/zhd1rxAhRQJGl4SBvWNn7mscFUX3r5/Cwe3+zdxDSa8yxd+Ie37Y4WM5cTO5
 N2/Xfcu40d0Fv56SCRySoBCeolQDq8uPJC94SFgR06l6KId4N3r0M0SKNnXWVlxr1FJij9s=
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
X-TMASE-Result: 10--2.218500-8.000000
X-TMASE-Version: SMEX-12.5.0.1300-8.6.1012-25674.003
X-MDID: 1600767311-pEFHue1CLzJE
Subject: [dpdk-dev] [PATCH v2 52/60] common/sfc_efx/base: use EF10 EVB
	methods for Riverhead
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

There is no difference yet in EVB support on EF10 and Riverhead.
So, it is better to reuse existing methods.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
---
 drivers/common/sfc_efx/base/ef10_evb.c  |  8 ++++----
 drivers/common/sfc_efx/base/efx_check.h |  4 ++--
 drivers/common/sfc_efx/base/efx_evb.c   | 24 ++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/drivers/common/sfc_efx/base/ef10_evb.c b/drivers/common/sfc_efx/base/ef10_evb.c
index aeeaa5189f..089d791543 100644
--- a/drivers/common/sfc_efx/base/ef10_evb.c
+++ b/drivers/common/sfc_efx/base/ef10_evb.c
@@ -9,13 +9,13 @@
 
 #if EFSYS_OPT_EVB
 
-#if EFX_OPTS_EF10()
+#if EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10()
 
 	__checkReturn	efx_rc_t
 ef10_evb_init(
 	__in		efx_nic_t *enp)
 {
-	EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
+	EFSYS_ASSERT(EFX_FAMILY_IS_EF100(enp) || EFX_FAMILY_IS_EF10(enp));
 
 	return (0);
 }
@@ -24,7 +24,7 @@ ef10_evb_init(
 ef10_evb_fini(
 	__in		efx_nic_t *enp)
 {
-	EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
+	EFSYS_ASSERT(EFX_FAMILY_IS_EF100(enp) || EFX_FAMILY_IS_EF10(enp));
 }
 
 static	__checkReturn	efx_rc_t
@@ -545,5 +545,5 @@ ef10_evb_vport_stats(
 			EFX_STATS_UPLOAD, 0));
 }
 
-#endif /* EFX_OPTS_EF10() */
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
 #endif /* EFSYS_OPT_EVB */
diff --git a/drivers/common/sfc_efx/base/efx_check.h b/drivers/common/sfc_efx/base/efx_check.h
index af90a4c373..f9f97946e5 100644
--- a/drivers/common/sfc_efx/base/efx_check.h
+++ b/drivers/common/sfc_efx/base/efx_check.h
@@ -373,8 +373,8 @@
 
 #if EFSYS_OPT_EVB
 /* Support enterprise virtual bridging */
-# if !(EFX_OPTS_EF10())
-#  error "EVB requires EF10 arch"
+# if !(EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10())
+#  error "EVB requires RIVERHEAD or EF10 arch"
 # endif
 #endif /* EFSYS_OPT_EVB */
 
diff --git a/drivers/common/sfc_efx/base/efx_evb.c b/drivers/common/sfc_efx/base/efx_evb.c
index 17318b7e11..b6c9b88fc2 100644
--- a/drivers/common/sfc_efx/base/efx_evb.c
+++ b/drivers/common/sfc_efx/base/efx_evb.c
@@ -46,6 +46,24 @@ static const efx_evb_ops_t	__efx_evb_ef10_ops = {
 };
 #endif /* EFX_OPTS_EF10() */
 
+#if EFSYS_OPT_RIVERHEAD
+static const efx_evb_ops_t	__efx_evb_rhead_ops = {
+	ef10_evb_init,			/* eeo_init */
+	ef10_evb_fini,			/* eeo_fini */
+	ef10_evb_vswitch_alloc,		/* eeo_vswitch_alloc */
+	ef10_evb_vswitch_free,		/* eeo_vswitch_free */
+	ef10_evb_vport_alloc,		/* eeo_vport_alloc */
+	ef10_evb_vport_free,		/* eeo_vport_free */
+	ef10_evb_vport_mac_addr_add,	/* eeo_vport_mac_addr_add */
+	ef10_evb_vport_mac_addr_del,	/* eeo_vport_mac_addr_del */
+	ef10_evb_vadaptor_alloc,	/* eeo_vadaptor_alloc */
+	ef10_evb_vadaptor_free,		/* eeo_vadaptor_free */
+	ef10_evb_vport_assign,		/* eeo_vport_assign */
+	ef10_evb_vport_reconfigure,	/* eeo_vport_reconfigure */
+	ef10_evb_vport_stats,		/* eeo_vport_stats */
+};
+#endif /* EFSYS_OPT_RIVERHEAD */
+
 	__checkReturn	efx_rc_t
 efx_evb_init(
 	__in		efx_nic_t *enp)
@@ -83,6 +101,12 @@ efx_evb_init(
 		break;
 #endif /* EFSYS_OPT_MEDFORD2 */
 
+#if EFSYS_OPT_RIVERHEAD
+	case EFX_FAMILY_RIVERHEAD:
+		eeop = &__efx_evb_rhead_ops;
+		break;
+#endif /* EFSYS_OPT_RIVERHEAD */
+
 	default:
 		EFSYS_ASSERT(0);
 		rc = ENOTSUP;
-- 
2.17.1