From patchwork Sat Sep 30 01:37:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mokhtar, Amr" X-Patchwork-Id: 29451 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AC6611B1C7; Sat, 30 Sep 2017 03:38:12 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id D36801B19E for ; Sat, 30 Sep 2017 03:38:08 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Sep 2017 18:38:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos; i="5.42,455,1500966000"; d="scan'208"; a="1020035493" Received: from silpixa00391537.ir.intel.com (HELO silpixa00391537.ger.corp.intel.com) ([10.237.222.189]) by orsmga003.jf.intel.com with ESMTP; 29 Sep 2017 18:38:07 -0700 From: Amr Mokhtar To: dev@dpdk.org Cc: niall.power@intel.com, chris.macnamara@intel.com, Amr Mokhtar Date: Sat, 30 Sep 2017 02:37:55 +0100 Message-Id: <1506735475-77078-6-git-send-email-amr.mokhtar@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1506735475-77078-1-git-send-email-amr.mokhtar@intel.com> References: <1506735475-77078-1-git-send-email-amr.mokhtar@intel.com> Subject: [dpdk-dev] [PATCH v1 6/6] bbdev: auxiliary changes to DPDK framework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Amr Mokhtar --- MAINTAINERS | 10 ++++++++++ config/common_base | 23 +++++++++++++++++++++++ doc/guides/rel_notes/release_17_11.rst | 10 ++++++++++ mk/rte.app.mk | 13 +++++++++++++ 4 files changed, 56 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 8df2a7f..1d444f9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -273,6 +273,16 @@ F: lib/librte_eventdev/ F: drivers/event/skeleton/ F: test/test/test_eventdev.c +BBDEV API - EXPERIMENTAL +M: Amr Mokhtar +F: lib/librte_bbdev/ +F: drivers/bbdev/ +F: app/test-bbdev +F: examples/bbdev_app/ +F: doc/guides/bbdevs/ +F: doc/guides/prog_guide/bbdev.rst +F: doc/guides/sample_app_ug/bbdev_app.rst +F: doc/guides/tools/testbbdev.rst Networking Drivers ------------------ diff --git a/config/common_base b/config/common_base index 12f6be9..494869e 100644 --- a/config/common_base +++ b/config/common_base @@ -540,6 +540,24 @@ CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV_DEBUG=n CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF_DEBUG=n +# Compile generic wireless base band device library +# EXPERIMENTAL: API may change without prior notice +# +CONFIG_RTE_LIBRTE_BBDEV=y +CONFIG_RTE_LIBRTE_BBDEV_DEBUG=n +CONFIG_RTE_BBDEV_MAX_DEVS=128 +CONFIG_RTE_BBDEV_NAME_MAX_LEN=64 + +# +# Compile PMD for NULL bbdev device +# +CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL=y + +# +# Compile PMD for turbo software bbdev device +# +CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=n + # # Compile librte_ring # @@ -736,6 +754,11 @@ CONFIG_RTE_APP_TEST=y CONFIG_RTE_APP_TEST_RESOURCE_TAR=n # +# Compile the bbdev test application +# +CONFIG_RTE_TEST_BBDEV=y + +# # Compile the PMD test application # CONFIG_RTE_TEST_PMD=y diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst index 8bf91bd..cdd30bc 100644 --- a/doc/guides/rel_notes/release_17_11.rst +++ b/doc/guides/rel_notes/release_17_11.rst @@ -41,6 +41,16 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **Added Wireless Base Band Device (bbdev).** + + The Wireless Baseband library provides a common programming framework that + abstracts HW accelerators based on FPGA and/or Fixed Function Accelerators that + assist with LTE Physical Layer processing. Furthermore, it decouples the + application from the compute-intensive wireless functions by abstracting their + optimized libraries to appear as virtual bbdev devices. + + The framework currently only supports Turbo Code FEC function. + Resolved Issues --------------- diff --git a/mk/rte.app.mk b/mk/rte.app.mk index c25fdd9..7286ad9 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -93,6 +93,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_NET) += -lrte_net _LDLIBS-$(CONFIG_RTE_LIBRTE_ETHER) += -lrte_ethdev _LDLIBS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += -lrte_cryptodev _LDLIBS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += -lrte_eventdev +_LDLIBS-$(CONFIG_RTE_LIBRTE_BBDEV) += -lrte_bbdev _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += -lrte_mempool _LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += -lrte_mempool_ring _LDLIBS-$(CONFIG_RTE_LIBRTE_RING) += -lrte_ring @@ -146,6 +147,18 @@ endif # $(CONFIG_RTE_LIBRTE_VHOST) _LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += -lrte_pmd_vmxnet3_uio _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lrte_pmd_xenvirt -lxenstore +ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y) +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += -lrte_pmd_bbdev_null + +# TURBO SOFTWARE PMD is dependent on the BBLIB library +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lrte_pmd_bbdev_turbo_sw +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_common -lcommon +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_crc -lcrc +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_turbo -lturbo +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_rate_matching -lrate_matching +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lirc -limf -lstdc++ -lipps +endif # CONFIG_RTE_LIBRTE_BBDEV + ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB