mbox series

[v2,00/33] Marvell CNXK Event device Driver

Message ID 20210426174441.2302-1-pbhagavatula@marvell.com (mailing list archive)
Headers
Series Marvell CNXK Event device Driver |

Message

Pavan Nikhilesh Bhagavatula April 26, 2021, 5:44 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

This patchset adds support for Marvell CN106XX SoC based on 'common/cnxk'
driver. In future, CN9K a.k.a octeontx2 will also be supported by same
driver when code is ready and 'event/octeontx2' will be deprecated.

v2 Changes:
- Split Rx/Tx adapter into seperate patch set to remove dependency on net/cnxk
- Add missing xStats patch.
- Fix incorrect head wait operation.

Pavan Nikhilesh (16):
  event/cnxk: add build infra and device setup
  event/cnxk: add platform specific device probe
  event/cnxk: add common configuration validation
  event/cnxk: allocate event inflight buffers
  event/cnxk: add devargs to configure getwork mode
  event/cnxk: add SSO HW device operations
  event/cnxk: add SSO GWS fastpath enqueue functions
  event/cnxk: add SSO GWS dequeue fastpath functions
  event/cnxk: add SSO selftest and dump
  event/cnxk: add event port and queue xstats
  event/cnxk: add devargs to disable NPA
  event/cnxk: allow adapters to resize inflights
  event/cnxk: add TIM bucket operations
  event/cnxk: add timer arm routine
  event/cnxk: add timer arm timeout burst
  event/cnxk: add timer cancel function

Shijith Thotton (17):
  event/cnxk: add device capabilities function
  event/cnxk: add platform specific device config
  event/cnxk: add event queue config functions
  event/cnxk: add devargs for inflight buffer count
  event/cnxk: add devargs to control SSO HWGRP QoS
  event/cnxk: add port config functions
  event/cnxk: add event port link and unlink
  event/cnxk: add device start function
  event/cnxk: add device stop and close functions
  event/cnxk: support event timer
  event/cnxk: add timer adapter capabilities
  event/cnxk: create and free timer adapter
  event/cnxk: add timer adapter info function
  event/cnxk: add devargs for chunk size and rings
  event/cnxk: add timer stats get and reset
  event/cnxk: add timer adapter start and stop
  event/cnxk: add devargs to control timer adapters

 MAINTAINERS                                 |    6 +
 app/test/test_eventdev.c                    |   14 +
 doc/guides/eventdevs/cnxk.rst               |  162 ++
 doc/guides/eventdevs/index.rst              |    1 +
 drivers/common/cnxk/roc_sso.c               |   63 +
 drivers/common/cnxk/roc_sso.h               |   19 +
 drivers/event/cnxk/cn10k_eventdev.c         |  509 ++++++
 drivers/event/cnxk/cn10k_worker.c           |  115 ++
 drivers/event/cnxk/cn10k_worker.h           |  175 +++
 drivers/event/cnxk/cn9k_eventdev.c          |  578 +++++++
 drivers/event/cnxk/cn9k_worker.c            |  236 +++
 drivers/event/cnxk/cn9k_worker.h            |  297 ++++
 drivers/event/cnxk/cnxk_eventdev.c          |  647 ++++++++
 drivers/event/cnxk/cnxk_eventdev.h          |  253 +++
 drivers/event/cnxk/cnxk_eventdev_adptr.c    |   67 +
 drivers/event/cnxk/cnxk_eventdev_selftest.c | 1570 +++++++++++++++++++
 drivers/event/cnxk/cnxk_eventdev_stats.c    |  289 ++++
 drivers/event/cnxk/cnxk_tim_evdev.c         |  538 +++++++
 drivers/event/cnxk/cnxk_tim_evdev.h         |  275 ++++
 drivers/event/cnxk/cnxk_tim_worker.c        |  191 +++
 drivers/event/cnxk/cnxk_tim_worker.h        |  601 +++++++
 drivers/event/cnxk/cnxk_worker.h            |  101 ++
 drivers/event/cnxk/meson.build              |   23 +
 drivers/event/cnxk/version.map              |    3 +
 drivers/event/meson.build                   |    1 +
 25 files changed, 6734 insertions(+)
 create mode 100644 doc/guides/eventdevs/cnxk.rst
 create mode 100644 drivers/event/cnxk/cn10k_eventdev.c
 create mode 100644 drivers/event/cnxk/cn10k_worker.c
 create mode 100644 drivers/event/cnxk/cn10k_worker.h
 create mode 100644 drivers/event/cnxk/cn9k_eventdev.c
 create mode 100644 drivers/event/cnxk/cn9k_worker.c
 create mode 100644 drivers/event/cnxk/cn9k_worker.h
 create mode 100644 drivers/event/cnxk/cnxk_eventdev.c
 create mode 100644 drivers/event/cnxk/cnxk_eventdev.h
 create mode 100644 drivers/event/cnxk/cnxk_eventdev_adptr.c
 create mode 100644 drivers/event/cnxk/cnxk_eventdev_selftest.c
 create mode 100644 drivers/event/cnxk/cnxk_eventdev_stats.c
 create mode 100644 drivers/event/cnxk/cnxk_tim_evdev.c
 create mode 100644 drivers/event/cnxk/cnxk_tim_evdev.h
 create mode 100644 drivers/event/cnxk/cnxk_tim_worker.c
 create mode 100644 drivers/event/cnxk/cnxk_tim_worker.h
 create mode 100644 drivers/event/cnxk/cnxk_worker.h
 create mode 100644 drivers/event/cnxk/meson.build
 create mode 100644 drivers/event/cnxk/version.map

--
2.17.1
  

Comments

Jerin Jacob April 30, 2021, 5:11 a.m. UTC | #1
On Mon, Apr 26, 2021 at 11:14 PM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> This patchset adds support for Marvell CN106XX SoC based on 'common/cnxk'
> driver. In future, CN9K a.k.a octeontx2 will also be supported by same
> driver when code is ready and 'event/octeontx2' will be deprecated.
>
> v2 Changes:
> - Split Rx/Tx adapter into seperate patch set to remove dependency on net/cnxk
> - Add missing xStats patch.
> - Fix incorrect head wait operation.


# Please check the following checkpatch issues[1]
# Please fix the copyright to Copyright(c) 2021 Marvell[2]
# Please fix documentation to have synergy with rest of doc[2]



[1]
[for-main][dpdk-next-eventdev] $ ./devtools/checkpatches.sh -n 33

### event/cnxk: add devargs to control SSO HWGRP QoS

WARNING:TYPO_SPELLING: 'Aka' may be misspelled - perhaps 'A.k.a.'?
#17:
Qx  -> Event queue Aka SSO GGRP.
                   ^^^

total: 0 errors, 1 warnings, 154 lines checked

### event/cnxk: add port config functions

WARNING:TYPO_SPELLING: 'aka' may be misspelled - perhaps 'a.k.a.'?
#6:
Add SSO HWS aka event port setup and release functions.
            ^^^

WARNING:TYPO_SPELLING: 'aka' may be misspelled - perhaps 'a.k.a.'?
#500: FILE: drivers/event/cnxk/cnxk_eventdev.h:103:
+/* Event port aka GWS */
               ^^^

total: 0 errors, 2 warnings, 526 lines checked

### event/cnxk: support event timer

WARNING:TYPO_SPELLING: 'aka' may be misspelled - perhaps 'a.k.a.'?
#6:
Add event timer adapter aka TIM initialization on SSO probe.
                        ^^^

WARNING:TYPO_SPELLING: 'aka' may be misspelled - perhaps 'a.k.a.'?
#21: FILE: doc/guides/eventdevs/cnxk.rst:40:
+- Up to 256 TIM rings aka event timer adapters.
                       ^^^

total: 0 errors, 2 warnings, 136 lines checked



[2]

[for-main]dell[dpdk-next-eventdev] $ git diff
diff --git a/MAINTAINERS b/MAINTAINERS
index d1ae33d48f..5a2297e999 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1224,7 +1224,7 @@ M: Jerin Jacob <jerinj@marvell.com>
 F: drivers/event/octeontx2/
 F: doc/guides/eventdevs/octeontx2.rst

-Marvell OCTEON CNXK
+Marvell cnxk
 M: Pavan Nikhilesh <pbhagavatula@marvell.com>
 M: Shijith Thotton <sthotton@marvell.com>
 F: drivers/event/cnxk/
diff --git a/doc/guides/eventdevs/cnxk.rst b/doc/guides/eventdevs/cnxk.rst
index c42784a3be..27cc32e26e 100644
--- a/doc/guides/eventdevs/cnxk.rst
+++ b/doc/guides/eventdevs/cnxk.rst
@@ -1,8 +1,8 @@
 ..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2021 Marvell International Ltd.
+    Copyright(c) 2021 Marvell.

-OCTEON CNXK SSO Eventdev Driver
-==========================
+Marvell cnxk SSO Eventdev Driver
+================================

 The SSO PMD (**librte_event_cnxk**) and provides poll mode
 eventdev driver support for the inbuilt event device found in the
@@ -11,7 +11,7 @@ eventdev driver support for the inbuilt event device
found in the
 More information about OCTEON CNXK SoC can be found at `Marvell
Official Website
 <https://www.marvell.com/embedded-processors/infrastructure-processors/>`_.

-Supported OCTEON CNXK SoCs
+Supported OCTEON cnxk SoCs
 --------------------------

 - CN9XX
>
> Pavan Nikhilesh (16):
>   event/cnxk: add build infra and device setup
>   event/cnxk: add platform specific device probe
>   event/cnxk: add common configuration validation
>   event/cnxk: allocate event inflight buffers
>   event/cnxk: add devargs to configure getwork mode
>   event/cnxk: add SSO HW device operations
>   event/cnxk: add SSO GWS fastpath enqueue functions
>   event/cnxk: add SSO GWS dequeue fastpath functions
>   event/cnxk: add SSO selftest and dump
>   event/cnxk: add event port and queue xstats
>   event/cnxk: add devargs to disable NPA
>   event/cnxk: allow adapters to resize inflights
>   event/cnxk: add TIM bucket operations
>   event/cnxk: add timer arm routine
>   event/cnxk: add timer arm timeout burst
>   event/cnxk: add timer cancel function
>
> Shijith Thotton (17):
>   event/cnxk: add device capabilities function
>   event/cnxk: add platform specific device config
>   event/cnxk: add event queue config functions
>   event/cnxk: add devargs for inflight buffer count
>   event/cnxk: add devargs to control SSO HWGRP QoS
>   event/cnxk: add port config functions
>   event/cnxk: add event port link and unlink
>   event/cnxk: add device start function
>   event/cnxk: add device stop and close functions
>   event/cnxk: support event timer
>   event/cnxk: add timer adapter capabilities
>   event/cnxk: create and free timer adapter
>   event/cnxk: add timer adapter info function
>   event/cnxk: add devargs for chunk size and rings
>   event/cnxk: add timer stats get and reset
>   event/cnxk: add timer adapter start and stop
>   event/cnxk: add devargs to control timer adapters
>
>  MAINTAINERS                                 |    6 +
>  app/test/test_eventdev.c                    |   14 +
>  doc/guides/eventdevs/cnxk.rst               |  162 ++
>  doc/guides/eventdevs/index.rst              |    1 +
>  drivers/common/cnxk/roc_sso.c               |   63 +
>  drivers/common/cnxk/roc_sso.h               |   19 +
>  drivers/event/cnxk/cn10k_eventdev.c         |  509 ++++++
>  drivers/event/cnxk/cn10k_worker.c           |  115 ++
>  drivers/event/cnxk/cn10k_worker.h           |  175 +++
>  drivers/event/cnxk/cn9k_eventdev.c          |  578 +++++++
>  drivers/event/cnxk/cn9k_worker.c            |  236 +++
>  drivers/event/cnxk/cn9k_worker.h            |  297 ++++
>  drivers/event/cnxk/cnxk_eventdev.c          |  647 ++++++++
>  drivers/event/cnxk/cnxk_eventdev.h          |  253 +++
>  drivers/event/cnxk/cnxk_eventdev_adptr.c    |   67 +
>  drivers/event/cnxk/cnxk_eventdev_selftest.c | 1570 +++++++++++++++++++
>  drivers/event/cnxk/cnxk_eventdev_stats.c    |  289 ++++
>  drivers/event/cnxk/cnxk_tim_evdev.c         |  538 +++++++
>  drivers/event/cnxk/cnxk_tim_evdev.h         |  275 ++++
>  drivers/event/cnxk/cnxk_tim_worker.c        |  191 +++
>  drivers/event/cnxk/cnxk_tim_worker.h        |  601 +++++++
>  drivers/event/cnxk/cnxk_worker.h            |  101 ++
>  drivers/event/cnxk/meson.build              |   23 +
>  drivers/event/cnxk/version.map              |    3 +
>  drivers/event/meson.build                   |    1 +
>  25 files changed, 6734 insertions(+)
>  create mode 100644 doc/guides/eventdevs/cnxk.rst
>  create mode 100644 drivers/event/cnxk/cn10k_eventdev.c
>  create mode 100644 drivers/event/cnxk/cn10k_worker.c
>  create mode 100644 drivers/event/cnxk/cn10k_worker.h
>  create mode 100644 drivers/event/cnxk/cn9k_eventdev.c
>  create mode 100644 drivers/event/cnxk/cn9k_worker.c
>  create mode 100644 drivers/event/cnxk/cn9k_worker.h
>  create mode 100644 drivers/event/cnxk/cnxk_eventdev.c
>  create mode 100644 drivers/event/cnxk/cnxk_eventdev.h
>  create mode 100644 drivers/event/cnxk/cnxk_eventdev_adptr.c
>  create mode 100644 drivers/event/cnxk/cnxk_eventdev_selftest.c
>  create mode 100644 drivers/event/cnxk/cnxk_eventdev_stats.c
>  create mode 100644 drivers/event/cnxk/cnxk_tim_evdev.c
>  create mode 100644 drivers/event/cnxk/cnxk_tim_evdev.h
>  create mode 100644 drivers/event/cnxk/cnxk_tim_worker.c
>  create mode 100644 drivers/event/cnxk/cnxk_tim_worker.h
>  create mode 100644 drivers/event/cnxk/cnxk_worker.h
>  create mode 100644 drivers/event/cnxk/meson.build
>  create mode 100644 drivers/event/cnxk/version.map
>
> --
> 2.17.1
>