mbox series

[v2,00/44] OCTEONTX2 event device driver

Message ID 20190628075024.404-1-pbhagavatula@marvell.com (mailing list archive)
Headers show
Series OCTEONTX2 event device driver | expand


Pavan Nikhilesh Bhagavatula June 28, 2019, 7:49 a.m. UTC
From: Pavan Nikhilesh <pbhagavatula@marvell.com>

This patchset adds OCTEON TX2 event device driver and event timer
adapter driver.

More details can be found in
[PATCH v2 26/44] doc: add Marvell OCTEON TX2 event device
[PATCH v2 44/44] doc: update Marvell OCTEON TX2 eventdev
under doc/guides/eventdevs/octeontx2

v2 Changes:
- Add tim finit to teardown on exit.
- Add tim chunk size limits.
- Add missing commit messges.
- Add selftest to unit test suite.
- Fix log format.
- Remove panic from IRQ.
- Remove shared lib update from releases.

Pavan Nikhilesh (44):
  event/octeontx2: add build infra and device probe
  event/octeontx2: add init and fini for octeontx2 SSO object
  event/octeontx2: add device capabilities function
  event/octeontx2: add device configure function
  event/octeontx2: add event queue config functions
  event/octeontx2: allocate event inflight buffers
  event/octeontx2: add devargs for inflight buffer count
  event/octeontx2: add event port config functions
  event/octeontx2: support linking queues to ports
  event/octeontx2: support dequeue timeout tick conversion
  event/octeontx2: add SSO GWS and GGRP IRQ handlers
  event/octeontx2: add register dump functions
  event/octeontx2: add xstats support
  event/octeontx2: add SSO HW device operations
  event/octeontx2: add worker enqueue functions
  event/octeontx2: add worker dequeue functions
  event/octeontx2: add octeontx2 SSO dual workslot mode
  event/octeontx2: add SSO dual GWS HW device operations
  event/octeontx2: add worker dual GWS enqueue functions
  event/octeontx2: add worker dual GWS dequeue functions
  event/octeontx2: add devargs to force legacy mode
  event/octeontx2: add device start function
  event/octeontx2: add devargs to control SSO GGRP QoS
  event/octeontx2: add device stop and close functions
  event/octeontx2: add SSO selftest
  doc: add Marvell OCTEON TX2 event device documentation
  event/octeontx2: add event timer support
  event/octeontx2: add timer adapter capabilities
  event/octeontx2: create and free timer adapter
  event/octeontx2: allow TIM to optimize config
  event/octeontx2: add devargs to disable NPA
  event/octeontx2: add devargs to modify chunk slots
  event/octeontx2: add TIM IRQ handlers
  event/octeontx2: allow adapters to resize inflight buffers
  event/octeontx2: add timer adapter info get function
  event/octeontx2: add TIM bucket operations
  event/octeontx2: add event timer arm routine
  event/octeontx2: add event timer arm timeout burst
  event/octeontx2: add event timer cancel function
  event/octeontx2: add event timer stats get and reset
  event/octeontx2: add even timer adapter start and stop
  event/octeontx2: add devargs to limit timer adapters
  event/octeontx2: add devargs to control adapter parameters
  doc: update Marvell OCTEON TX2 eventdev documentation

 MAINTAINERS                                   |    6 +
 app/test/test_eventdev.c                      |    8 +
 config/common_base                            |    5 +
 doc/guides/eventdevs/index.rst                |    1 +
 doc/guides/eventdevs/octeontx2.rst            |  158 ++
 doc/guides/platform/octeontx2.rst             |    3 +
 drivers/event/Makefile                        |    1 +
 drivers/event/meson.build                     |    2 +-
 drivers/event/octeontx2/Makefile              |   46 +
 drivers/event/octeontx2/meson.build           |   29 +
 drivers/event/octeontx2/otx2_evdev.c          | 1395 +++++++++++++++
 drivers/event/octeontx2/otx2_evdev.h          |  266 +++
 drivers/event/octeontx2/otx2_evdev_adptr.c    |   19 +
 drivers/event/octeontx2/otx2_evdev_irq.c      |  272 +++
 drivers/event/octeontx2/otx2_evdev_selftest.c | 1511 +++++++++++++++++
 drivers/event/octeontx2/otx2_evdev_stats.h    |  286 ++++
 drivers/event/octeontx2/otx2_tim_evdev.c      |  734 ++++++++
 drivers/event/octeontx2/otx2_tim_evdev.h      |  249 +++
 drivers/event/octeontx2/otx2_tim_worker.c     |  171 ++
 drivers/event/octeontx2/otx2_tim_worker.h     |  450 +++++
 drivers/event/octeontx2/otx2_worker.c         |  270 +++
 drivers/event/octeontx2/otx2_worker.h         |  187 ++
 drivers/event/octeontx2/otx2_worker_dual.c    |  207 +++
 drivers/event/octeontx2/otx2_worker_dual.h    |   76 +
 .../rte_pmd_octeontx2_event_version.map       |    4 +
 mk/rte.app.mk                                 |    2 +
 26 files changed, 6357 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/eventdevs/octeontx2.rst
 create mode 100644 drivers/event/octeontx2/Makefile
 create mode 100644 drivers/event/octeontx2/meson.build
 create mode 100644 drivers/event/octeontx2/otx2_evdev.c
 create mode 100644 drivers/event/octeontx2/otx2_evdev.h
 create mode 100644 drivers/event/octeontx2/otx2_evdev_adptr.c
 create mode 100644 drivers/event/octeontx2/otx2_evdev_irq.c
 create mode 100644 drivers/event/octeontx2/otx2_evdev_selftest.c
 create mode 100644 drivers/event/octeontx2/otx2_evdev_stats.h
 create mode 100644 drivers/event/octeontx2/otx2_tim_evdev.c
 create mode 100644 drivers/event/octeontx2/otx2_tim_evdev.h
 create mode 100644 drivers/event/octeontx2/otx2_tim_worker.c
 create mode 100644 drivers/event/octeontx2/otx2_tim_worker.h
 create mode 100644 drivers/event/octeontx2/otx2_worker.c
 create mode 100644 drivers/event/octeontx2/otx2_worker.h
 create mode 100644 drivers/event/octeontx2/otx2_worker_dual.c
 create mode 100644 drivers/event/octeontx2/otx2_worker_dual.h
 create mode 100644 drivers/event/octeontx2/rte_pmd_octeontx2_event_version.map