From patchwork Tue May 14 19:45:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 53408 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 3616B4D3A; Tue, 14 May 2019 21:46:17 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id D88B92B86 for ; Tue, 14 May 2019 21:46:15 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 May 2019 12:46:14 -0700 X-ExtLoop1: 1 Received: from skx-5gnr-sd5.sc.intel.com ([172.25.69.194]) by orsmga003.jf.intel.com with ESMTP; 14 May 2019 12:46:13 -0700 From: Nicolas Chautru To: Cc: dev@dpdk.org, Nicolas Chautru Date: Tue, 14 May 2019 12:45:38 -0700 Message-Id: <1557863143-174842-1-git-send-email-nicolas.chautru@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1557533163-172544-1-git-send-email-nicolas.chautru@intel.com> References: <1557533163-172544-1-git-send-email-nicolas.chautru@intel.com> Subject: [dpdk-dev] [PATCH v2 0/5] BBDEV PMD Drivers Extension for 19.08 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" 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