The following patch set adds Cavium OCTEONTX HW based eventdev implementation to the next-eventdev tree.
Introduction to OCTEON-TX ARM processors can be found here: http://www.cavium.com/OCTEON-TX_ARM_Processors.html - First 18 patches implements eventdev API with OCTEONTX SSOVF HW. - 19-35 patches adds the unit test cases for the driver. - 36-38 adds the documentation and updates the release notes v2: - Enabled CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF by default in common config. - Fixed issue with clang and free bsd build - git comment enhancement. Added the missing space(Gage) http://dpdk.org/dev/patchwork/patch/21364/ http://dpdk.org/dev/patchwork/patch/21365/ - added -ENODEV return to octeontx_ssovf_info() - s/requeust/request (Gage) http://dpdk.org/dev/patchwork/patch/21366/ - Fixed incorrect mbox wait timeout handling(Gage) http://dpdk.org/dev/patchwork/patch/21366/ - Improved the mbox timeout handling(Gage) http://dpdk.org/dev/patchwork/patch/21366/ - Improved the timeout accuracy(Gage) Improved the timeout accuracy by invoking ssovf_mbox_getwork_tmo_set(edev->min_deq_timeout_ns) in ssovf_configure if RTE_EVENT_DEV_CFG_PER_DEQUEUE_TIMEOUT flag is set http://dpdk.org/dev/patchwork/patch/21377/ - Add newly introduced RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES in info_get - Remove RTE_EVENT_QUEUE_CFG_DEFAULT flag to sync with next-eventdev master - app/test has moved to test/test/. Fixed the references(Harry) - documentation improvements based on Harry's input http://dpdk.org/dev/patchwork/patch/21397/ The patchset is Git log is clean, while check patch issues: 1) 1 Error on Complex Macro (which I believe it cannot be fixed) # Patch 14 2) 1 Error on spacing while using gcc inline assembly(it is false positive) # patch 14 Jerin Jacob (38): event/octeontx: add build and log infrastructure event/octeontx: probe ssovf pcie devices event/octeontx: probe ssowvf pcie devices event/octeontx: add vdev interface functions event/octeontx: add mailbox support event/octeontx: add octeontx eventdev driver event/octeontx: add device capabilities function event/octeontx: add configure function event/octeontx: add support for event queues event/octeontx: add support for event ports event/octeontx: add support for linking queues to ports event/octeontx: add support dequeue timeout tick conversion event/octeontx: add dump function for easier debugging event/octeontx: add SSO HW device operations event/octeontx: add support worker enqueue function event/octeontx: add support worker dequeue function event/octeontx: add start function event/octeontx: add stop and close function test/test: octeontx eventdev unit test infrastructure test/test: octeontx unit test case setup and teardown test/test: octeontx unit test case helper functions test/test: octeontx simple event enqueue and dequeue test test/test: octeontx multi queue enqueue and dequeue test test/test: octeontx eventdev priority test test/test: add infrastructure for multicore octeontx tests test/test: octeontx multi queue and multi core/port tests test/test: octeontx single link establishment test test/test: octeontx multi link establishment test test/test: octeontx flow based two stage sched type test test/test: octeontx queue based two stage sched type test test/test: octeontx flow based maximum stage pipeline test/test: octeontx queue based maximum stage pipeline test/test: octeontx queue and flow based max stage pipeline test/test: octeontx producer-consumer based order test test/test: add remaining tests based on existing helpers doc: add OCTEONTX ssovf details maintainers: claim OCTEONTX eventdev PMD maintainership doc: add Cavium OCTEONTX eventdev PMD to 17.05 release notes MAINTAINERS | 11 + config/common_base | 6 + config/defconfig_arm64-thunderx-linuxapp-gcc | 6 + doc/guides/eventdevs/index.rst | 38 + doc/guides/eventdevs/octeontx.rst | 151 +++ doc/guides/index.rst | 1 + doc/guides/rel_notes/release_17_05.rst | 6 +- drivers/event/Makefile | 1 + drivers/event/octeontx/Makefile | 65 + drivers/event/octeontx/rte_pmd_octeontx_ssovf.h | 61 + .../octeontx/rte_pmd_octeontx_ssovf_version.map | 9 + drivers/event/octeontx/ssovf_evdev.c | 572 ++++++++ drivers/event/octeontx/ssovf_evdev.h | 203 +++ drivers/event/octeontx/ssovf_mbox.c | 232 ++++ drivers/event/octeontx/ssovf_probe.c | 288 ++++ drivers/event/octeontx/ssovf_worker.c | 342 +++++ mk/rte.app.mk | 1 + test/test/Makefile | 5 +- test/test/test_eventdev_octeontx.c | 1398 ++++++++++++++++++++ 19 files changed, 3394 insertions(+), 2 deletions(-) create mode 100644 doc/guides/eventdevs/index.rst create mode 100644 doc/guides/eventdevs/octeontx.rst create mode 100644 drivers/event/octeontx/Makefile create mode 100644 drivers/event/octeontx/rte_pmd_octeontx_ssovf.h create mode 100644 drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map create mode 100644 drivers/event/octeontx/ssovf_evdev.c create mode 100644 drivers/event/octeontx/ssovf_evdev.h create mode 100644 drivers/event/octeontx/ssovf_mbox.c create mode 100644 drivers/event/octeontx/ssovf_probe.c create mode 100644 drivers/event/octeontx/ssovf_worker.c create mode 100644 test/test/test_eventdev_octeontx.c -- 2.5.5