From: Amr Mokhtar Date: Thu, 19 Jul 2018 13:03:53 +0000 (+0100) Subject: baseband/turbo_sw: update for FlexRAN 1.6.0 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=b9cf7fe64d8431ac73c783f30a92287b749a2c42;p=dpdk.git baseband/turbo_sw: update for FlexRAN 1.6.0 Update BBDEV Turbo SW driver download/build instructions for FlexRAN 1.6.0 release Signed-off-by: Amr Mokhtar --- diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst index 9661a306f9..0b96fbb12e 100644 --- a/doc/guides/bbdevs/turbo_sw.rst +++ b/doc/guides/bbdevs/turbo_sw.rst @@ -47,8 +47,8 @@ Design Center `_. +*Intel FlexRAN Software Release Package -1-6-0* to download or directly through +this `link `_. After download is complete, the user needs to unpack and compile on their system before building DPDK. @@ -64,6 +64,7 @@ The following table maps DPDK versions with past FlexRAN SDK releases: ===================== ============================ 18.02 1.3.0 18.05 1.4.0 + 18.08 1.6.0 ===================== ============================ FlexRAN SDK Installation @@ -71,8 +72,8 @@ FlexRAN SDK Installation The following are pre-requisites for building FlexRAN SDK Libraries: (a) An AVX2 supporting machine - (b) Windriver TS 2 or CentOS 7 operating systems - (c) Intel ICC 17.0.3 compiler installed + (b) CentOS Linux release 7.2.1511 (Core) operating system + (c) Intel ICC 18.0.1 20171018 compiler installed The following instructions should be followed in this exact order: @@ -82,29 +83,26 @@ The following instructions should be followed in this exact order: source /linux/bin/compilervars.sh intel64 -platform linux - -#. Extract the ``576288-576288-intel-swa-sw-flexran-release-package-r1-4-0.zip`` - package, then run the SDK extractor script and accept the license: +#. Extract the ``flexran-1-6-0-tar.gz.zip`` package: .. code-block:: console - cd /FlexRAN-1.4.0/ - ./SDK-R1.4.0.sh + unzip flexran-1-6-0-tar.gz.zip + tar xvzf flexran-1-6-0-tar.gz -C FlexRAN-1.6.0/ -#. Generate makefiles based on system configuration: +#. Run the SDK extractor script and accept the license: .. code-block:: console - cd /FlexRAN-1.4.0/SDK-R1.4.0/sdk/ - ./create-makefiles-linux.sh + cd /FlexRAN-1.6.0/ + ./SDK-R1.6.0.sh -#. If build as a shared library is required, then add ``"-fPIC"`` option to file - ``/FlexRAN-1.4.0/SDK-R1.4.0/sdk/cmake/intel-compile-options.cmake`` - as follows: +#. Generate makefiles based on system configuration: .. code-block:: console - add_compile_options("-fPIC") + cd /FlexRAN-1.6.0/SDK-R1.6.0/sdk/ + ./create-makefiles-linux.sh #. A build folder is generated in this form ``build--``, enter that folder and install: @@ -112,7 +110,7 @@ The following instructions should be followed in this exact order: .. code-block:: console cd build-avx2-icc/ - make install + make && make install Initialization @@ -130,8 +128,8 @@ Example: .. code-block:: console - export FLEXRAN_SDK=/FlexRAN-1.4.0/SDK-R1.4.0/sdk/build-avx2-icc/install - export DIR_WIRELESS_SDK=/FlexRAN-1.4.0/SDK-R1.4.0/sdk/ + export FLEXRAN_SDK=/FlexRAN-1.6.0/SDK-R1.6.0/sdk/build-avx2-icc/install + export DIR_WIRELESS_SDK=/FlexRAN-1.6.0/SDK-R1.6.0/sdk/ * Set ``CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y`` in DPDK common configuration @@ -156,4 +154,4 @@ Example: .. code-block:: console ./test-bbdev.py -e="--vdev=baseband_turbo_sw,socket_id=0,max_nb_queues=8" \ - -c validation -v ./test_vectors/bbdev_vector_t?_default.data + -c validation -v ./turbo_*_default.data diff --git a/drivers/baseband/turbo_sw/bbdev_turbo_software.c b/drivers/baseband/turbo_sw/bbdev_turbo_software.c index 1a2430ec81..8ceb2769f3 100644 --- a/drivers/baseband/turbo_sw/bbdev_turbo_software.c +++ b/drivers/baseband/turbo_sw/bbdev_turbo_software.c @@ -490,8 +490,8 @@ process_enc_cb(struct turbo_sw_queue *q, struct rte_bbdev_enc_op *op, return; } crc_req.data = in; - crc_req.len = (k - 24) >> 3; - /* Check if there is a room for CRC bits. If not use + crc_req.len = k - 24; + /* Check if there is a room for CRC bits if not use * the temporary buffer. */ if (rte_pktmbuf_append(m_in, 3) == NULL) { @@ -522,8 +522,8 @@ process_enc_cb(struct turbo_sw_queue *q, struct rte_bbdev_enc_op *op, return; } crc_req.data = in; - crc_req.len = (k - 24) >> 3; - /* Check if there is a room for CRC bits. If this is the last + crc_req.len = k - 24; + /* Check if there is a room for CRC bits if this is the last * CB in TB. If not use temporary buffer. */ if ((c - r == 1) && (rte_pktmbuf_append(m_in, 3) == NULL)) {