[dpdk-dev] [PATCH v2 00/38] Cavium OCTEONTX ssovf eventdev PMD

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Mar 31 21:34:27 CEST 2017


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



More information about the dev mailing list