From patchwork Sat May 11 00:05:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 53377 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 61C312B87; Sat, 11 May 2019 02:06:45 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 22F83DE3 for ; Sat, 11 May 2019 02:06:41 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 May 2019 17:06:40 -0700 X-ExtLoop1: 1 Received: from 5gnr-gnb-iodt.sc.intel.com ([172.25.69.194]) by orsmga007.jf.intel.com with ESMTP; 10 May 2019 17:06:40 -0700 From: Nic Chautru To: dev@dpdk.org Cc: Nic Chautru Date: Fri, 10 May 2019 17:05:58 -0700 Message-Id: <1557533163-172544-1-git-send-email-nicolas.chautru@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH 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. Nicolas Chautru (5): baseband/fpga_lte_fec: addition of driver for 4G turbo FEC with PAC N300 FPGA card bbdev : Extension of BBDEV for 5G FEC baseband/turbo_sw : Extension of turbo_sw for 5G FEC test-bbdev : Update of bbdec test-app for FPGA and 5G testing usertools: update to usertool to allow binding of 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 + .../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 + .../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 | 2671 ++++++++++++++++++++ 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 +- 68 files changed, 26858 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_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/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