[v9,1/1] doc: add eventdevs feature matrices

Message ID 20211124130358.2164136-1-skori@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v9,1/1] doc: add eventdevs feature matrices |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS

Commit Message

Sunil Kumar Kori Nov. 24, 2021, 1:03 p.m. UTC
  From: Sunil Kumar Kori <skori@marvell.com>

Patch adds feature matrices for event dev, Rx/Tx, Crypto
and Timer adapters.

Along with, .ini files are added for all supported PMDs.

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
---
v9:
 - Squah doc patches into a single patch.
 - Add .ini file for dlb2 driver also
 - Fix minor review comments
v8:
 - Fix script dump for dsw and SW driver
 - Review comments incorporated
v7:
 - Rebased to 21.11 rc3
 - Fix Tx adapter capabilities for SW driver
v6:
 - Rebased to 21.11 rc2
 - Added feature matrices for all supported drivers
 - Added doc vs code check script
 
v5:
 - Rebased to 21.11
 - Added feature matrix for cnxk.
v4:
 - Rebased to 20.02
v3:
 - Removed .txt files to generate tables.
 - Use conf.py script to generate tables.
 - Add .ini file for all supported PMDs.
v2:
 - Review comments incorporated

 .gitignore                                  |  5 ++
 doc/guides/conf.py                          | 25 ++++++++++
 doc/guides/eventdevs/features/cnxk.ini      | 31 +++++++++++++
 doc/guides/eventdevs/features/default.ini   | 51 +++++++++++++++++++++
 doc/guides/eventdevs/features/dlb2.ini      | 21 +++++++++
 doc/guides/eventdevs/features/dpaa.ini      | 27 +++++++++++
 doc/guides/eventdevs/features/dpaa2.ini     | 29 ++++++++++++
 doc/guides/eventdevs/features/dsw.ini       | 23 ++++++++++
 doc/guides/eventdevs/features/octeontx.ini  | 27 +++++++++++
 doc/guides/eventdevs/features/octeontx2.ini | 30 ++++++++++++
 doc/guides/eventdevs/features/opdl.ini      | 18 ++++++++
 doc/guides/eventdevs/features/sw.ini        | 27 +++++++++++
 doc/guides/eventdevs/index.rst              |  1 +
 doc/guides/eventdevs/overview.rst           | 40 ++++++++++++++++
 14 files changed, 355 insertions(+)
 create mode 100644 doc/guides/eventdevs/features/cnxk.ini
 create mode 100644 doc/guides/eventdevs/features/default.ini
 create mode 100644 doc/guides/eventdevs/features/dlb2.ini
 create mode 100644 doc/guides/eventdevs/features/dpaa.ini
 create mode 100644 doc/guides/eventdevs/features/dpaa2.ini
 create mode 100644 doc/guides/eventdevs/features/dsw.ini
 create mode 100644 doc/guides/eventdevs/features/octeontx.ini
 create mode 100644 doc/guides/eventdevs/features/octeontx2.ini
 create mode 100644 doc/guides/eventdevs/features/opdl.ini
 create mode 100644 doc/guides/eventdevs/features/sw.ini
 create mode 100644 doc/guides/eventdevs/overview.rst
  

Comments

Thomas Monjalon Nov. 26, 2021, 2:55 p.m. UTC | #1
24/11/2021 14:03, skori@marvell.com:
> From: Sunil Kumar Kori <skori@marvell.com>
> 
> Patch adds feature matrices for event dev, Rx/Tx, Crypto
> and Timer adapters.
> 
> Along with, .ini files are added for all supported PMDs.
> 
> Signed-off-by: Sunil Kumar Kori <skori@marvell.com>

Applied, thanks.

I hope we can merge the script to check these matrices soon.
  

Patch

diff --git a/.gitignore b/.gitignore
index b98a43a601..212c7aa28e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,11 @@  doc/guides/regexdevs/overview_feature_table.txt
 doc/guides/vdpadevs/overview_feature_table.txt
 doc/guides/bbdevs/overview_feature_table.txt
 doc/guides/gpus/overview_feature_table.txt
+doc/guides/eventdevs/overview_feature_table.txt
+doc/guides/eventdevs/overview_rx_adptr_feature_table.txt
+doc/guides/eventdevs/overview_tx_adptr_feature_table.txt
+doc/guides/eventdevs/overview_crypto_adptr_feature_table.txt
+doc/guides/eventdevs/overview_timer_adptr_feature_table.txt
 
 # ignore generated ctags/cscope files
 cscope.out.po
diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index e6ce929bc8..1743ce301f 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -401,6 +401,31 @@  def setup(app):
                             'Features',
                             'Features availability in GPU drivers',
                             'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_feature_table.txt'
+    generate_overview_table(table_file, 1,
+                            'Scheduling Features',
+                            'Features availability in eventdev drivers',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_rx_adptr_feature_table.txt'
+    generate_overview_table(table_file, 2,
+                            'Eth Rx adapter Features',
+                            'Features availability for Ethdev Rx adapters',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_tx_adptr_feature_table.txt'
+    generate_overview_table(table_file, 3,
+                            'Eth Tx adapter Features',
+                            'Features availability for Ethdev Tx adapters',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_crypto_adptr_feature_table.txt'
+    generate_overview_table(table_file, 4,
+                            'Crypto adapter Features',
+                            'Features availability for Crypto adapters',
+                            'Feature')
+    table_file = dirname(__file__) + '/eventdevs/overview_timer_adptr_feature_table.txt'
+    generate_overview_table(table_file, 5,
+                            'Timer adapter Features',
+                            'Features availability for Timer adapters',
+                            'Feature')
 
     if LooseVersion(sphinx_version) < LooseVersion('1.3.1'):
         print('Upgrade sphinx to version >= 1.3.1 for '
diff --git a/doc/guides/eventdevs/features/cnxk.ini b/doc/guides/eventdevs/features/cnxk.ini
new file mode 100644
index 0000000000..7633c6e3a2
--- /dev/null
+++ b/doc/guides/eventdevs/features/cnxk.ini
@@ -0,0 +1,31 @@ 
+;
+; Supported features of the 'cnxk' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+override_flow_id           = Y
+event_vector               = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+event_vector               = Y
+
+[Crypto adapter Features]
+internal_port_op_fwd       = Y
+session_private_data       = Y
+
+[Timer adapter Features]
+internal_port              = Y
diff --git a/doc/guides/eventdevs/features/default.ini b/doc/guides/eventdevs/features/default.ini
new file mode 100644
index 0000000000..2ea233463a
--- /dev/null
+++ b/doc/guides/eventdevs/features/default.ini
@@ -0,0 +1,51 @@ 
+;
+; Features of a default eventdev driver.
+;
+; This file defines the features that are valid for inclusion in
+; the other driver files and also the order that they appear in
+; the features table in the documentation.
+;
+[Scheduling Features]
+queue_qos                  =
+event_qos                  =
+distributed_sched          =
+queue_all_types            =
+burst_mode                 =
+implicit_release_disable   =
+nonseq_mode                =
+runtime_port_link          =
+multiple_queue_port        =
+carry_flow_id              =
+maintenance_free           =
+
+;
+; Features of a default Ethernet Rx adapter.
+;
+[Eth Rx adapter Features]
+internal_port              =
+multi_eventq               =
+override_flow_id           =
+event_vector               =
+
+;
+; Features of a default Ethernet Tx adapter.
+;
+[Eth Tx adapter Features]
+internal_port              =
+event_vector               =
+
+;
+; Features of a default Crypto adapter.
+;
+[Crypto adapter Features]
+internal_port_op_new       =
+internal_port_op_fwd       =
+internal_port_qp_ev_bind   =
+session_private_data       =
+
+;
+; Features of a default Timer adapter.
+;
+[Timer adapter Features]
+internal_port              =
+periodic                   =
diff --git a/doc/guides/eventdevs/features/dlb2.ini b/doc/guides/eventdevs/features/dlb2.ini
new file mode 100644
index 0000000000..29747b1c26
--- /dev/null
+++ b/doc/guides/eventdevs/features/dlb2.ini
@@ -0,0 +1,21 @@ 
+;
+; Supported features of the 'dlb2' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+event_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+burst_mode                 = Y
+implicit_release_disable   = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/dpaa.ini b/doc/guides/eventdevs/features/dpaa.ini
new file mode 100644
index 0000000000..b73bfa02e5
--- /dev/null
+++ b/doc/guides/eventdevs/features/dpaa.ini
@@ -0,0 +1,27 @@ 
+;
+; Supported features of the 'dpaa' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+distributed_sched          = Y
+burst_mode                 = Y
+nonseq_mode                = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+override_flow_id           = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_new       = Y
+internal_port_qp_ev_bind   = Y
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/dpaa2.ini b/doc/guides/eventdevs/features/dpaa2.ini
new file mode 100644
index 0000000000..c935bd0cfc
--- /dev/null
+++ b/doc/guides/eventdevs/features/dpaa2.ini
@@ -0,0 +1,29 @@ 
+;
+; Supported features of the 'dpaa2' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+distributed_sched          = Y
+queue_all_types            = Y
+burst_mode                 = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+override_flow_id           = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_new       = Y
+internal_port_qp_ev_bind   = Y
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/dsw.ini b/doc/guides/eventdevs/features/dsw.ini
new file mode 100644
index 0000000000..c8bc6b3f1d
--- /dev/null
+++ b/doc/guides/eventdevs/features/dsw.ini
@@ -0,0 +1,23 @@ 
+;
+; Supported features of the 'distributed software' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+distributed_sched          = Y
+burst_mode                 = Y
+nonseq_mode                = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+
+[Eth Rx adapter Features]
+multi_eventq               = Y
+override_flow_id           = Y
+event_vector               = Y
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/octeontx.ini b/doc/guides/eventdevs/features/octeontx.ini
new file mode 100644
index 0000000000..ec044e6289
--- /dev/null
+++ b/doc/guides/eventdevs/features/octeontx.ini
@@ -0,0 +1,27 @@ 
+;
+; Supported features of the 'octeontx' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_fwd       = Y
+session_private_data       = Y
+
+[Timer adapter Features]
+internal_port              = Y
diff --git a/doc/guides/eventdevs/features/octeontx2.ini b/doc/guides/eventdevs/features/octeontx2.ini
new file mode 100644
index 0000000000..05b84beb6e
--- /dev/null
+++ b/doc/guides/eventdevs/features/octeontx2.ini
@@ -0,0 +1,30 @@ 
+;
+; Supported features of the 'octeontx2' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+distributed_sched          = Y
+queue_all_types            = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+internal_port              = Y
+multi_eventq               = Y
+
+[Eth Tx adapter Features]
+internal_port              = Y
+
+[Crypto adapter Features]
+internal_port_op_new       = Y
+internal_port_op_fwd       = Y
+internal_port_qp_ev_bind   = Y
+
+[Timer adapter Features]
+internal_port              = Y
+periodic                   = Y
diff --git a/doc/guides/eventdevs/features/opdl.ini b/doc/guides/eventdevs/features/opdl.ini
new file mode 100644
index 0000000000..5cc35d3c77
--- /dev/null
+++ b/doc/guides/eventdevs/features/opdl.ini
@@ -0,0 +1,18 @@ 
+;
+; Supported features of 'Ordered Packet Distribution Library' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+burst_mode                 = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/features/sw.ini b/doc/guides/eventdevs/features/sw.ini
new file mode 100644
index 0000000000..8c89d3b8d2
--- /dev/null
+++ b/doc/guides/eventdevs/features/sw.ini
@@ -0,0 +1,27 @@ 
+;
+; Supported features of the 'software' eventdev driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Scheduling Features]
+queue_qos                  = Y
+event_qos                  = Y
+burst_mode                 = Y
+implicit_release_disable   = Y
+nonseq_mode                = Y
+runtime_port_link          = Y
+multiple_queue_port        = Y
+carry_flow_id              = Y
+maintenance_free           = Y
+
+[Eth Rx adapter Features]
+multi_eventq               = Y
+override_flow_id           = Y
+event_vector               = Y
+
+[Eth Tx adapter Features]
+
+[Crypto adapter Features]
+session_private_data       = Y
+
+[Timer adapter Features]
diff --git a/doc/guides/eventdevs/index.rst b/doc/guides/eventdevs/index.rst
index 2143025390..b11657f7ae 100644
--- a/doc/guides/eventdevs/index.rst
+++ b/doc/guides/eventdevs/index.rst
@@ -11,6 +11,7 @@  application through the eventdev API.
     :maxdepth: 2
     :numbered:
 
+    overview
     cnxk
     dlb2
     dpaa
diff --git a/doc/guides/eventdevs/overview.rst b/doc/guides/eventdevs/overview.rst
new file mode 100644
index 0000000000..3c5ee515f8
--- /dev/null
+++ b/doc/guides/eventdevs/overview.rst
@@ -0,0 +1,40 @@ 
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(C) 2021 Marvell.
+
+Event Device Supported Functionality Matrices
+=============================================
+
+Event device supported features
+-------------------------------
+
+.. _table_eventdev_pmd_features:
+
+.. include:: overview_feature_table.txt
+
+Ethernet Rx adapter supported features
+--------------------------------------
+
+.. _table_eventdev_rx_adapter_features:
+
+.. include:: overview_rx_adptr_feature_table.txt
+
+Ethernet Tx adapter supported features
+--------------------------------------
+
+.. _table_eventdev_tx_adapter_features:
+
+.. include:: overview_tx_adptr_feature_table.txt
+
+Crypto device adapter supported features
+----------------------------------------
+
+.. _table_cryptodev_adapter_features:
+
+.. include:: overview_crypto_adptr_feature_table.txt
+
+Timer adapter supported features
+--------------------------------
+
+.. _table_timer_adapter_features:
+
+.. include:: overview_timer_adptr_feature_table.txt