baseband/turbo_sw: remove Flexran SDK build option

The related dependency to build the PMD based on the
SDK libraries is now enabled through pkgconfig.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
This commit is contained in:
Nicolas Chautru 2022-06-29 14:03:50 -07:00 committed by Akhil Goyal
parent 253265f8fb
commit 3b5b854b7d
3 changed files with 19 additions and 28 deletions

View File

@ -81,7 +81,8 @@ The following table maps DPDK versions with past FlexRAN SDK releases:
===================== ============================ ===================== ============================
DPDK version FlexRAN FEC SDK release DPDK version FlexRAN FEC SDK release
===================== ============================ ===================== ============================
19.08 19.04 19.08 to 22.07 19.04
22.11+ 22.11
===================== ============================ ===================== ============================
FlexRAN SDK Installation FlexRAN SDK Installation
@ -136,7 +137,8 @@ In order to enable this virtual bbdev PMD, the user may:
FlexRAN SDK libraries were installed. And ``DIR_WIRELESS_SDK`` to the path FlexRAN SDK libraries were installed. And ``DIR_WIRELESS_SDK`` to the path
where the libraries were extracted. where the libraries were extracted.
* Tune the meson build option pointing the location of the FlexRAN SDK libraries ``flexran_sdk`` * Point pkgconfig towards these libraries so that they can be automatically found by meson.
If not, DPDK will still compile but the related functionality would be stubbed out.
Example: Example:
@ -144,8 +146,9 @@ Example:
export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/install export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/install
export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/ export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx2-icc/
export PKG_CONFIG_PATH=$DIR_WIRELESS_SDK/pkgcfg:$PKG_CONFIG_PATH
cd build cd build
meson configure -Dflexran_sdk=<path-to-workspace>/FlexRAN-FEC-SDK-19-04/sdk/build-avx512-icc/install meson configure
* For AVX512 machines with SDK libraries installed then both 4G and 5G can be enabled for full real time FEC capability. * For AVX512 machines with SDK libraries installed then both 4G and 5G can be enabled for full real time FEC capability.
For AVX2 machines it is possible to only enable the 4G libraries and the PMD capabilities will be limited to 4G FEC. For AVX2 machines it is possible to only enable the 4G libraries and the PMD capabilities will be limited to 4G FEC.

View File

@ -1,38 +1,28 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation # Copyright(c) 2019 Intel Corporation
path = get_option('flexran_sdk') # check for FlexRAN SDK libraries
dep_turbo = dependency('flexran_sdk_turbo', required: false)
dep_dec5g = dependency('flexran_sdk_ldpc_decoder_5gnr', required: false)
# check for FlexRAN SDK libraries for AVX2 if dep_turbo.found()
lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false)
if lib4g.found()
ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true)
ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true)
ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true)
ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true)
ext_deps += cc.find_library('libstdc++', required: true) ext_deps += cc.find_library('libstdc++', required: true)
ext_deps += cc.find_library('libirc', required: true) ext_deps += cc.find_library('libirc', required: true)
ext_deps += cc.find_library('libimf', required: true) ext_deps += cc.find_library('libimf', required: true)
ext_deps += cc.find_library('libipps', required: true) ext_deps += cc.find_library('libipps', required: true)
ext_deps += cc.find_library('libsvml', required: true) ext_deps += cc.find_library('libsvml', required: true)
includes += include_directories(path + '/lib_turbo') ext_deps += dep_turbo
includes += include_directories(path + '/lib_crc') ext_deps += dependency('flexran_sdk_crc', required: true)
includes += include_directories(path + '/lib_rate_matching') ext_deps += dependency('flexran_sdk_rate_matching', required: true)
includes += include_directories(path + '/lib_common') ext_deps += dependency('flexran_sdk_common', required: true)
cflags += ['-DRTE_BBDEV_SDK_AVX2'] cflags += ['-DRTE_BBDEV_SDK_AVX2']
endif endif
# check for FlexRAN SDK libraries for AVX512 if dep_dec5g.found()
lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false) ext_deps += dep_dec5g
if lib5g.found() ext_deps += dependency('flexran_sdk_ldpc_encoder_5gnr', required: true)
ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true) ext_deps += dependency('flexran_sdk_LDPC_ratematch_5gnr', required: true)
ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true) ext_deps += dependency('flexran_sdk_rate_dematching_5gnr', required: true)
ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true)
ext_deps += cc.find_library('librate_dematching_5gnr', dirs: [path + '/lib_rate_dematching_5gnr'], required: true)
includes += include_directories(path + '/lib_ldpc_encoder_5gnr')
includes += include_directories(path + '/lib_ldpc_decoder_5gnr')
includes += include_directories(path + '/lib_LDPC_ratematch_5gnr')
includes += include_directories(path + '/lib_rate_dematching_5gnr')
cflags += ['-DRTE_BBDEV_SDK_AVX512'] cflags += ['-DRTE_BBDEV_SDK_AVX512']
endif endif

View File

@ -26,8 +26,6 @@ option('enable_kmods', type: 'boolean', value: false, description:
'build kernel modules') 'build kernel modules')
option('examples', type: 'string', value: '', description: option('examples', type: 'string', value: '', description:
'Comma-separated list of examples to build by default') 'Comma-separated list of examples to build by default')
option('flexran_sdk', type: 'string', value: '', description:
'Path to FlexRAN SDK optional Libraries for BBDEV device')
option('ibverbs_link', type: 'combo', choices : ['static', 'shared', 'dlopen'], value: 'shared', description: option('ibverbs_link', type: 'combo', choices : ['static', 'shared', 'dlopen'], value: 'shared', description:
'Linkage method (static/shared/dlopen) for NVIDIA PMDs with ibverbs dependencies.') 'Linkage method (static/shared/dlopen) for NVIDIA PMDs with ibverbs dependencies.')
option('include_subdir_arch', type: 'string', value: '', description: option('include_subdir_arch', type: 'string', value: '', description: