Hello again, A v2 patch of the Wireless Base Band Device (bbdev) RFC is enclosed. Addressing the feedback received from the community and more crafting for the application interface.
--- v2: * Split the functionality of rte_bbdev_configure() into smaller portions -> rte_bbdev_setup_queues() and rte_bbdev_enable_intr() * Split rte_bbdev_enqueue() -> rte_bbdev_enc_enqueue() and rte_bbdev_dec_enqueue() * Split rte_bbdev_dequeue() -> rte_bbdev_enc_dequeue() and rte_bbdev_dec_dequeue() * Removed attached flag until hotplug is properly supported in DPDK * More details on the installation of FlexRAN SDK libraries in accordance with Turbo_sw PMD * Minor build fixes for other targets: bsdapp-gcc, bsdapp-clang and linuxapp-clang. * Better-organized patchwork v1: * Initial release of BBDEV library. * Support Turbo Code FEC with two virtual devices (vdev): - Null Turbo PMD - Turbo_sw PMD * A complete Test suite for Turbo Encode/Decode and None operations * Test Vectors parsing and testing functionality * Sample App for a looped-back bbdev with ethdev * Documentation in rst format for all new components [1] http://dpdk.org/dev/patchwork/patch/29447/ [2] http://dpdk.org/dev/patchwork/patch/29448/ [3] http://dpdk.org/dev/patchwork/patch/29450/ [4] http://dpdk.org/dev/patchwork/patch/29449/ [5] http://dpdk.org/dev/patchwork/patch/29452/ [6] http://dpdk.org/dev/patchwork/patch/29451/ RFC: [1] http://dpdk.org/ml/archives/dev/2017-August/073585.html [2] http://dpdk.org/ml/archives/dev/2017-August/073584.html Amr Mokhtar (5): bbdev: librte_bbdev library bbdev: PMD drivers (null/turbo_sw) bbdev: test applications bbdev: sample app bbdev: documentation MAINTAINERS | 10 + app/Makefile | 4 + app/test-bbdev/Makefile | 53 + app/test-bbdev/main.c | 317 +++ app/test-bbdev/main.h | 144 ++ app/test-bbdev/test-bbdev.py | 132 ++ app/test-bbdev/test_bbdev.c | 1406 +++++++++++++ app/test-bbdev/test_bbdev_perf.c | 2090 ++++++++++++++++++++ app/test-bbdev/test_bbdev_vector.c | 884 +++++++++ app/test-bbdev/test_bbdev_vector.h | 98 + app/test-bbdev/test_vectors/bbdev_vector_null.data | 32 + .../test_vectors/bbdev_vector_td_default.data | 80 + .../test_vectors/bbdev_vector_te_default.data | 60 + config/common_base | 23 + doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf | 1 + doc/guides/bbdevs/index.rst | 40 + doc/guides/bbdevs/null.rst | 77 + doc/guides/bbdevs/turbo_sw.rst | 169 ++ doc/guides/index.rst | 1 + doc/guides/prog_guide/bbdev.rst | 621 ++++++ doc/guides/prog_guide/index.rst | 1 + doc/guides/rel_notes/release_17_11.rst | 10 + doc/guides/sample_app_ug/bbdev_app.rst | 160 ++ doc/guides/sample_app_ug/index.rst | 1 + doc/guides/tools/index.rst | 1 + doc/guides/tools/testbbdev.rst | 546 +++++ drivers/Makefile | 2 + drivers/bbdev/Makefile | 41 + drivers/bbdev/null/Makefile | 49 + drivers/bbdev/null/bbdev_null.c | 377 ++++ drivers/bbdev/null/rte_pmd_bbdev_null_version.map | 3 + drivers/bbdev/turbo_sw/Makefile | 59 + drivers/bbdev/turbo_sw/bbdev_turbo_software.c | 1235 ++++++++++++ .../bbdev/turbo_sw/bbdev_turbo_software_tables.h | 1344 +++++++++++++ .../turbo_sw/rte_pmd_bbdev_turbo_sw_version.map | 3 + examples/Makefile | 1 + examples/bbdev_app/Makefile | 50 + examples/bbdev_app/main.c | 1396 +++++++++++++ lib/Makefile | 3 + lib/librte_bbdev/Makefile | 56 + lib/librte_bbdev/rte_bbdev.c | 1095 ++++++++++ lib/librte_bbdev/rte_bbdev.h | 741 +++++++ lib/librte_bbdev/rte_bbdev_op.h | 514 +++++ lib/librte_bbdev/rte_bbdev_pci.h | 288 +++ lib/librte_bbdev/rte_bbdev_pmd.h | 223 +++ lib/librte_bbdev/rte_bbdev_vdev.h | 102 + lib/librte_bbdev/rte_bbdev_version.map | 37 + mk/rte.app.mk | 13 + 49 files changed, 14594 insertions(+) create mode 100644 app/test-bbdev/Makefile create mode 100644 app/test-bbdev/main.c create mode 100644 app/test-bbdev/main.h create mode 100755 app/test-bbdev/test-bbdev.py create mode 100644 app/test-bbdev/test_bbdev.c create mode 100644 app/test-bbdev/test_bbdev_perf.c create mode 100644 app/test-bbdev/test_bbdev_vector.c create mode 100644 app/test-bbdev/test_bbdev_vector.h create mode 100644 app/test-bbdev/test_vectors/bbdev_vector_null.data create mode 100644 app/test-bbdev/test_vectors/bbdev_vector_td_default.data create mode 100644 app/test-bbdev/test_vectors/bbdev_vector_te_default.data create mode 100644 doc/guides/bbdevs/index.rst create mode 100644 doc/guides/bbdevs/null.rst create mode 100644 doc/guides/bbdevs/turbo_sw.rst create mode 100644 doc/guides/prog_guide/bbdev.rst create mode 100644 doc/guides/sample_app_ug/bbdev_app.rst create mode 100644 doc/guides/tools/testbbdev.rst create mode 100644 drivers/bbdev/Makefile create mode 100644 drivers/bbdev/null/Makefile create mode 100644 drivers/bbdev/null/bbdev_null.c create mode 100644 drivers/bbdev/null/rte_pmd_bbdev_null_version.map create mode 100644 drivers/bbdev/turbo_sw/Makefile create mode 100644 drivers/bbdev/turbo_sw/bbdev_turbo_software.c create mode 100644 drivers/bbdev/turbo_sw/bbdev_turbo_software_tables.h create mode 100644 drivers/bbdev/turbo_sw/rte_pmd_bbdev_turbo_sw_version.map create mode 100644 examples/bbdev_app/Makefile create mode 100644 examples/bbdev_app/main.c create mode 100644 lib/librte_bbdev/Makefile create mode 100644 lib/librte_bbdev/rte_bbdev.c create mode 100644 lib/librte_bbdev/rte_bbdev.h create mode 100644 lib/librte_bbdev/rte_bbdev_op.h create mode 100644 lib/librte_bbdev/rte_bbdev_pci.h create mode 100644 lib/librte_bbdev/rte_bbdev_pmd.h create mode 100644 lib/librte_bbdev/rte_bbdev_vdev.h create mode 100644 lib/librte_bbdev/rte_bbdev_version.map -- 2.7.4