This was deferred from 19.05 due to time running out. Addition of a PMD for 4G FEC encoding and decoding functions for Intel PAC N300 FPGA. Extension of PMD based on Intel optimised SW libraries for 5G FEC. The HW dependency is available now.
v2 : Cosmetic updates from ci/checkpatch Nicolas Chautru (5): baseband/fpga_lte_fec: adding driver for FEC on FPGA bbdev: extension of BBDEV for 5G FEC baseband/turbo_sw: extension of turbosw for 5G FEC test-bbdev: update of bbdev test-app usertools: update to usertool for baseband device app/test-bbdev/ldpc_dec_default.data | 1 + app/test-bbdev/ldpc_enc_default.data | 1 + app/test-bbdev/main.c | 48 +- app/test-bbdev/main.h | 6 +- app/test-bbdev/meson.build | 2 +- app/test-bbdev/test-bbdev.py | 9 +- app/test-bbdev/test_bbdev.c | 12 +- app/test-bbdev/test_bbdev_perf.c | 1224 ++++++++- app/test-bbdev/test_bbdev_vector.c | 521 +++- app/test-bbdev/test_bbdev_vector.h | 16 +- app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_0.data | 354 +++ app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_1.data | 685 +++++ app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_2.data | 903 +++++++ app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_3.data | 939 +++++++ app/test-bbdev/test_vectors/ldpc_dec_v11835.data | 50 + app/test-bbdev/test_vectors/ldpc_dec_v14298.data | 377 +++ app/test-bbdev/test_vectors/ldpc_dec_v2342.data | 746 ++++++ .../test_vectors/ldpc_dec_v2342_drop.data | 746 ++++++ app/test-bbdev/test_vectors/ldpc_dec_v7813.data | 49 + app/test-bbdev/test_vectors/ldpc_dec_v8480.data | 75 + app/test-bbdev/test_vectors/ldpc_dec_v8568.data | 256 ++ .../test_vectors/ldpc_dec_v8568_low.data | 256 ++ app/test-bbdev/test_vectors/ldpc_dec_v9503.data | 1216 +++++++++ .../test_vectors/ldpc_dec_vcrc_fail.data | 1216 +++++++++ .../ldpc_enc_c1_k1144_r0_e1380_rm.data | 51 + .../ldpc_enc_c1_k1144_r0_e1380_rm_crc24b.data | 51 + .../test_vectors/ldpc_enc_c1_k330_r0_e360_rm.data | 44 + .../test_vectors/ldpc_enc_c1_k720_r0_e832_rm.data | 47 + .../ldpc_enc_c1_k720_r0_e864_rm_crc24b.data | 47 + .../ldpc_enc_c1_k8148_r0_e9372_rm.data | 110 + app/test-bbdev/test_vectors/ldpc_enc_v11835.data | 42 + app/test-bbdev/test_vectors/ldpc_enc_v2342.data | 150 ++ .../test_vectors/ldpc_enc_v3964_rv1.data | 52 + app/test-bbdev/test_vectors/ldpc_enc_v7813.data | 42 + app/test-bbdev/test_vectors/ldpc_enc_v8568.data | 69 + .../test_vectors/ldpc_enc_v8568_crc24a.data | 69 + app/test-bbdev/test_vectors/ldpc_enc_v9503.data | 196 ++ .../turbo_dec_c1_k160_r0_e23040_teq_negllr.data | 784 ++++++ ...o_dec_c1_k160_r0_e23040_teq_negllr_scatter.data | 786 ++++++ .../turbo_dec_c1_k160_r0_e23040_teq_posllr.data | 784 ++++++ .../turbo_dec_c1_k3136_r0_e4914_sbd_negllr.data | 352 +++ ...44_r0_e12248_crc24b_sbd_teq_negllr_scatter.data | 1034 ++++++++ ...urbo_dec_c1_k6144_r0_e34560_negllr_scatter.data | 647 +++++ ...bo_dec_c2_k3136_r0_e4920_sbd_negllr_crc24b.data | 5 +- ...turbo_dec_c2_k3136_r0_e4920_sbd_teq_negllr.data | 991 ++++++++ ...c_c2_k3136_r0_e4920_sbd_teq_negllr_scatter.data | 993 ++++++++ ...turbo_dec_c6_k5888_r3_e6912_sbd_teq_negllr.data | 2449 ++++++++++++++++++ ...c_c6_k5888_r3_e6912_sbd_teq_negllr_scatter.data | 2451 ++++++++++++++++++ .../turbo_enc_c1_k456_r0_e1380_scatter.data | 44 + ...urbo_enc_c3_k4352_r0_e13068_crc24b_scatter.data | 328 +++ app/test-bbdev/turbo_enc_default.data | 2 +- config/common_base | 9 +- doc/guides/bbdevs/fpga_lte_fec.rst | 318 +++ doc/guides/bbdevs/index.rst | 1 + doc/guides/bbdevs/turbo_sw.rst | 57 +- doc/guides/prog_guide/bbdev.rst | 509 +++- doc/guides/tools/testbbdev.rst | 125 +- drivers/baseband/Makefile | 2 + drivers/baseband/fpga_lte_fec/Makefile | 29 + drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 2674 ++++++++++++++++++++ drivers/baseband/fpga_lte_fec/fpga_lte_fec.h | 73 + .../baseband/fpga_lte_fec/fpga_lte_fec_version.map | 3 + drivers/baseband/turbo_sw/Makefile | 15 +- drivers/baseband/turbo_sw/bbdev_turbo_software.c | 707 +++++- lib/librte_bbdev/rte_bbdev.c | 22 +- lib/librte_bbdev/rte_bbdev.h | 137 +- lib/librte_bbdev/rte_bbdev_op.h | 577 ++++- mk/rte.app.mk | 9 +- usertools/dpdk-devbind.py | 10 +- usertools/dpdk-setup.sh | 6 +- 70 files changed, 27207 insertions(+), 404 deletions(-) create mode 100644 app/test-bbdev/ldpc_dec_default.data create mode 100644 app/test-bbdev/ldpc_enc_default.data mode change 100755 => 100644 app/test-bbdev/test-bbdev.py create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_0.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_1.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_2.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_HARQ_1_3.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v11835.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v14298.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v2342.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v2342_drop.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v7813.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v8480.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v8568.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v8568_low.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_v9503.data create mode 100644 app/test-bbdev/test_vectors/ldpc_dec_vcrc_fail.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_c1_k1144_r0_e1380_rm.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_c1_k1144_r0_e1380_rm_crc24b.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_c1_k330_r0_e360_rm.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_c1_k720_r0_e832_rm.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_c1_k720_r0_e864_rm_crc24b.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_c1_k8148_r0_e9372_rm.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v11835.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v2342.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v3964_rv1.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v7813.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v8568.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v8568_crc24a.data create mode 100644 app/test-bbdev/test_vectors/ldpc_enc_v9503.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c1_k160_r0_e23040_teq_negllr.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c1_k160_r0_e23040_teq_negllr_scatter.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c1_k160_r0_e23040_teq_posllr.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c1_k3136_r0_e4914_sbd_negllr.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e12248_crc24b_sbd_teq_negllr_scatter.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c1_k6144_r0_e34560_negllr_scatter.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c2_k3136_r0_e4920_sbd_teq_negllr.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c2_k3136_r0_e4920_sbd_teq_negllr_scatter.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c6_k5888_r3_e6912_sbd_teq_negllr.data create mode 100644 app/test-bbdev/test_vectors/turbo_dec_c6_k5888_r3_e6912_sbd_teq_negllr_scatter.data create mode 100644 app/test-bbdev/test_vectors/turbo_enc_c1_k456_r0_e1380_scatter.data create mode 100644 app/test-bbdev/test_vectors/turbo_enc_c3_k4352_r0_e13068_crc24b_scatter.data create mode 100644 doc/guides/bbdevs/fpga_lte_fec.rst create mode 100644 drivers/baseband/fpga_lte_fec/Makefile create mode 100644 drivers/baseband/fpga_lte_fec/fpga_lte_fec.c create mode 100644 drivers/baseband/fpga_lte_fec/fpga_lte_fec.h create mode 100644 drivers/baseband/fpga_lte_fec/fpga_lte_fec_version.map mode change 100755 => 100644 usertools/dpdk-devbind.py mode change 100755 => 100644 usertools/dpdk-setup.sh -- 1.8.3.1